BenCC: Probleme bei Identifierung von NN- und Opera-Browser

Beitrag lesen

Hallo Leute,

habe da ein Script, welches Browserstatistik ermitteln soll. Eigentlich
funkt es, aber noch nicht ganz richtig.
Der Browser IE wird erkannt, aber nei NN und Opera bekomme ich das gleiche
Ergebnis wie bei IE. Das sollte aber nicht sein.
Hier das Script:

<html>
<head>
<title>Eine Web-Umfrage</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="white">
<p>Folgende Umfrageergebnisse wurden ermittelt:</p>
<?php
$user = $_SERVER['HTTP_USER_AGENT'];
$datei="ergebnis.txt";
$zeiger=fopen($datei,"r");
$umfrage=fread($zeiger,filesize($datei));
fclose($zeiger);
$werte=explode(",",$umfrage);

$explorer="MSIE";
$nav405=4.05;
$nav408=4.08;
$nav450=4.50;
$nav470=4.70;
$nav472=4.72;
$nav473=4.73;
$nav474=4.74;
$nav475=4.75;
$nav476=4.76;
$nav477=4.77;
$nav478=4.78;
$nav479=4.79;
$nav480=4.80;
$nav600=6.0;
$nav610=6.1;
$nav620=6.2;
$nav700=7.0;
$oper="opera";
if(eregi("^([[:alpha:]]*)$",$explorer,$user)) { $werte[0]++; }
elseif(eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav405, $user) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav408, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav450, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav470, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav472, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav473, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav474, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav475, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav476, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav477, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav478, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav479, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{2})$",$nav480, $user)) !=
(eregi("^([[:alpha:]]*)$",$explorer,$user))) { $werte[1]++; }
elseif(eregi("^([[:digit:]]*).([[:digit:]]{1})$",$nav600 ,$user) || (eregi("^([[:digit:]]*).([[:digit:]]{1})$",$nav610, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{1})$",$nav620, $user)) || (eregi("^([[:digit:]]*).([[:digit:]]{1})$",$nav700, $user))) { $werte[2]++; }
elseif(eregi("^([[:alpha:]]*)$",$oper, $user)) { $werte[3]++; }
else { $werte[4]++; }
// Gesamtzahl aller Wahlvorgänge
$gesamt=$werte[0]+$werte[1]+$werte[2]+$werte[3]+$werte[4];
// Höchstlänge der Balken angeben
$laenge=400;
// Anteil von Balken 1 (Indexwert IE4_6!)
$laengeIE4_6=($werte[0]/$gesamt)*$laenge;
// Anteil von Balken 2 (Indexwert NN4x!)
$laengeNN4x=($werte[1]/$gesamt)*$laenge;
// Anteil von Balken 3 (Indexwert NN6x7!)
$laengeNN6x7=($werte[2]/$gesamt)*$laenge;
// Anteil von Balken 4 (Indexwert Opera)
$laengeOPER=($werte[3]/$gesamt)*$laenge;
// Anteil von Balken 5 (Indexwert OTHER!)
$laengeOTHER=($werte[4]/$gesamt)*$laenge;
// Werte auf ganze Zahlen runden
$laengeIE4_6=round($laengeIE4_6,0);
$laengeNN4x=round($laengeNN4x,0);
$laengeNN6x7=round($laengeNN6x7,0);
$laengeOPER=round($laengeOPER,0);
$laengeOTHER=round($laengeOTHER,0);

$neuerinhalt= implode(",",$werte);
$schreiben=fopen($datei,"w");
fwrite($schreiben,$neuerinhalt);
fclose($schreiben);
?>
<p>Bisher <?php echo $gesamt; ?> Teilnehmer</i> <br>
So sieht das Ergebnis aus:</p>
<table border="0">
<tr>
 <td><b>Internet Explorer 4.x/5.x/6</b></td>
 <td> </td><td width="<?php echo $laengeIE4_6; ?>px" bgcolor="red"> </td>
 <td> <?php echo $werte[0];?></i></td>
</tr></table><table>
<tr>
 <td><b>Netscape Navigator 4.x</b></td>
 <td> </td><td width="<?php echo $laengeNN4x; ?>px" bgcolor="yellow"> </td>
 <td> <?php echo $werte[1];?></i></td>
</tr></table><table>
<tr>
 <td><b>Netscape Navigator 6.x/7</b></td>
 <td> </td><td width="<?php echo $laengeNN6x7; ?>px" bgcolor="green"> </td>
 <td> <?php echo $werte[2];?></i></td>
</tr></table><table>
<tr>
 <td><b>Opera</b></td>
 <td> </td><td width="<?php echo $laengeOPER; ?>px" bgcolor="blue"> </td>
 <td> <?php echo $werte[3];?></i></td>
</tr></table><table>
<tr>
 <td><b>Andere Browser</b></td>
 <td> </td><td width="<?php echo $laengeOTHER; ?>px" bgcolor="magenta"> </td>
 <td> <?php echo $werte[4];?></i></td>
</tr>
</table>
</body>
</html>

Hat jemand einen Tipp?
Danke.

mfg
BenCC