HTML interesse |
|
Toen ik mijn site aan het controleren was met netscape 8.1 (in display like internet explorer modus) en ik mijn statistieken script aan het nakijken was zag ik dat ik dat er 1 os was gedetecteerd en 3 browsers: Internet Explorer, Netscape en een "unknown browser" wat dus eigenlijk niet kan. ( in totaal 1 bezoeker, 1 os en 3 browsers). Dit gebeurt alleen maar als er iemand met Netscape in msie modus mijn site bezoekt. Heeft iemand hier een oplossing voor? Ik gebruik een zelf geupdate versie van "brain benzinger's urstat" te vinden op www.venturenine.com. Deze werkt met de functie preg_match().
Hier volgt de code die ik gebruik:
<?php
if ($a == "browser") {
$ie = "0"; $ff = "0";
$op = "0"; $ne = "0";
$win = "0"; $linux = "0";
$unix = "0"; $mac = "0";
$konq = "0"; $saf = "0";
$title = "<b>OS & Browser Stats</b>";
$file=file("$datafile");
$total_hits = sizeof($file);
while(list(,$value)=each($file)){
list($date, $year, $month, $day, $hour, $week, $ip, $from, $location, $agent, $hostmask, $unique)=split( "\|", $value);
if(preg_match("/MSIE/i",$agent)){ $ie++; } if(preg_match("/Netscape/i",$agent)){ $ne++; }
if(preg_match("/Firefox/i",$agent)){ $ff++; } if(preg_match("/Opera/i",$agent)){ $op++; }
$unk = ($ie + $ne + $ff + $op + $konq + $saf) - $total_hits;
$iebw = $ie / $total_hits * 100;
$ffbw = $ff / $total_hits * 100;
$nebw = $ne / $total_hits * 100;
$opbw = $op / $total_hits * 100;
$konqbw = $konq / $total_hits * 100;
$safbw = $saf / $total_hits * 100;
$unkbw = $unk / $total_hits * 100;
if(preg_match("/Windows/i",$agent) || preg_match("/NT/i",$agent)){ $win++; $found++; } if(preg_match("/Mac_PowerPC/i",$agent)){ $mac++; $found++; }
if(preg_match("/Linux/i",$agent)){ $linux++; $found++; } if(preg_match("/UNIX/i",$agent)){ $unix++; $found++; }
$unk2 = $found - $total_hits;
$winbw = $win / $total_hits * 100; $macbw = $mac / $total_hits * 100;
$linuxbw = $linux / $total_hits * 100; $unixbw = $unix / $total_hits * 100;
$unk2bw = $unk2 / $total_hits * 100;
}
$content .= <<< HTML
// hier staat het stukje om de gegevens weer te geven...
HTML;
}
}
?>
<?php if ($a == "browser") { $ie = "0"; $ff = "0"; $op = "0"; $ne = "0"; $win = "0"; $linux = "0"; $unix = "0"; $mac = "0"; $konq = "0"; $saf = "0"; $title = "<b>OS & Browser Stats</b>"; list($date, $year, $month, $day, $hour, $week, $ip, $from, $location, $agent, $hostmask, $unique)=split( "\|", $value); $unk = ($ie + $ne + $ff + $op + $konq + $saf) - $total_hits; $iebw = $ie / $total_hits * 100; $ffbw = $ff / $total_hits * 100; $nebw = $ne / $total_hits * 100; $opbw = $op / $total_hits * 100; $konqbw = $konq / $total_hits * 100; $safbw = $saf / $total_hits * 100; $unkbw = $unk / $total_hits * 100; if(preg_match("/Linux/i",$agent)){ $linux++; $found++; } if(preg_match("/UNIX/i",$agent)){ $unix++; $found++; } $unk2 = $found - $total_hits; $winbw = $win / $total_hits * 100; $macbw = $mac / $total_hits * 100; $linuxbw = $linux / $total_hits * 100; $unixbw = $unix / $total_hits * 100; $unk2bw = $unk2 / $total_hits * 100; } $content .= <<< HTML // hier staat het stukje om de gegevens weer te geven... HTML; } } ?>
de user agent van netscape in ie modus is:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322) Netscape/8.1
en van ie:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
|