BenCC: PHP-Script funktioniert nicht so richtig

Beitrag lesen

Hallo Leute,

ich habe ein PHP-Schript, welches die Aufgabe hat, Browser zu identifizieren und
das Erebnis grafisch auszugeben. Habe das Script soweit geschrieben, aber
irgendwie macht es nicht das, was ich will. Wenn ich mit einem bestimmten Browser
z.B. IE5.5 die Site anwähle, dann geschieht nichts. D.h., dass die Anzahl der
Besuche sich nicht ändert. Die Gesamtzahl bleibt auf 9 und bei jedem Browsertyp
habe ich nur einen Besuch. Ich habe Euch das Script mal gepostet, für den Fall,
dass jemand weiss, woran das liegt.
PS: In der Datei ergebnis.txt habe ich an neun Stellen durch Komma getrennt
als Startwert jeweils den Wert 0 festgelegt.

<html>
<head>
<title>Eine Web-Umfrage</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="white">
<h1>Die Ergebnisse der Umfrage</h1>
<p>Folgende Umfrageergebnisse wurden ermittelt:</p>
<?php

$User = $ENV{'HTTP_USER_AGENT'};
if(preg_match('/Mozilla/3.0\ (.*/',$User)) { $NS30+1; }
elseif(preg_match('/Mozilla/4.0\ (.*/',$User)) { $NS40+1; }
elseif(preg_match('/Mozilla/4.5\ (.*/',$User)) { $NS45+1; }
elseif(preg_match('/Mozilla/4.7\ (.*/',$User)) { $NS47+1; }
elseif(preg_match('/Mozilla/5.0\ (.*/',$User)) { $NS50+1; }
elseif(preg_match('/Mozilla/2.0\ (.*/',$User)) { $IE30+1; }
elseif(preg_match('/Mozilla/4.0\ (.*/',$User)) { $IE40+1; }
elseif(preg_match('/Mozilla/4.0\ (.*/',$User)) { $IE50+1; }
elseif(preg_match('/Opera/(.*/',$User)) { $OPER+1; }
else {$OTHER++; }

$datei="ergebnis.txt";
$zeiger=fopen($datei,"r");
$umfrage=fread($zeiger,filesize($datei));
fclose($zeiger);
// String zerlegen, Array entsteht
$umfrage=explode(",",$umfrage);
// Welcher Wert wurde im Formular ausgewählt?
// Diese Position wird um 1 erhöht!
$umfrage[$User]=++;
// Gesamtzahl aller Wahlvorgänge
$gesamt=$umfrage[$NS30]+$umfrage[$NS40]+$umfrage[$NS45]+$umfrage[$NS47]+$umfrage[$NS50]+$umfrage[$IE30]+$umfrage[$IE40]+$umfrage[$IE50]+$umfrage[$OPER]+$umfrage[$OTHER];
// Höchstlänge der Balken angeben
$laenge=400;
// Anteil von Balken 1 (Indexwert NS30!)
$laengeNS30=$umfrage[$NS30]*$laenge/$gesamt;
// Anteil von Balken 2 (Indexwert NS40!)
$laengeNS40=$umfrage[$NS40]*$laenge/$gesamt;
// Anteil von Balken 3 (Indexwert NS45!)
$laengeNS45=$umfrage[$NS45]*$laenge/$gesamt;
// Anteil von Balken 4 (Indexwert NS47!)
$laengeNS47=$umfrage[$NS47]*$laenge/$gesamt;
// Anteil von Balken 5 (Indexwert NS50!)
$laengeNS50=$umfrage[$NS50]*$laenge/$gesamt;
// Anteil von Balken 6 (Indexwert IE30!)
$laengeIE30=$umfrage[$IE30]*$laenge/$gesamt;
// Anteil von Balken 7 (Indexwert IE40!)
$laengeIE40=$umfrage[$IE40]*$laenge/$gesamt;
// Anteil von Balken 8 (Indexwert IE50!)
$laengeIE50=$umfrage[$IE50]*$laenge/$gesamt;
// Anteil von Balken 9 (Indexwert OPER!)
$laengeOPER=$umfrage[$OPER]*$laenge/$gesamt;
// Anteil von Balken 10 (Indexwert OPER!)
$laengeOTHER=$umfrage[$OTHER]*$laenge/$gesamt;
// Werte auf ganze Zahlen runden
$laengeNS30=round($laengeNS30);
$laengeNS40=round($laengeNS40);
$laengeNS45=round($laengeNS45);
$laengeNS47=round($laengeNS47);
$laengeNS50=round($laengeNS50);
$laengeIE30=round($laengeIE30);
$laengeIE40=round($laengeIE40);
$laengeIE50=round($laengeIE50);
$laengeOPER=round($laengeOPER);
$laengeOTHER=round($laengeOTHER);
// Ausgabe nur für Testzwecke:
// echo "$laenge0 $laenge1 $laenge2";
?>
<p>Bisher haben <i><?php echo $gesamt;?> Teilnehmer</i> abgestimmt.<br>
So sieht das Ergebnis aus:</p>
<table border="0">
<tr>
<td><b>Netscape3.0</b></td>
<td> </td><td width="<?php echo $laengeNS30;?>" bgcolor="red"> </td>
<td> <i><?php echo $umfrage[$NS30];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>Netscape4.0</b></td>
<td> </td><td width="<?php echo $laengeNS40;?>" bgcolor="yellow"> </td>
<td> <i><?php echo $umfrage[$NS40];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>Netscape4.5</b></td>
<td> </td><td width="<?php echo $laengeNS45;?>" bgcolor="green"> </td>
<td> <i><?php echo $umfrage[$NS45];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>Netscape4.7</b></td>
<td> </td><td width="<?php echo $laengeNS47;?>" bgcolor="blue"> </td>
<td> <i><?php echo $umfrage[$NS47];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>Netscape5.0</b></td>
<td> </td><td width="<?php echo $laengeNS50;?>" bgcolor="black"> </td>
<td> <i><?php echo $umfrage[$NS50];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>IE3.0</b></td>
<td> </td><td width="<?php echo $laengeIE30;?>" bgcolor="orange"> </td>
<td> <i><?php echo $umfrage[$IE30];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>IE4.0</b></td>
<td> </td><td width="<?php echo $laengeIE40;?>" bgcolor="pink"> </td>
<td> <i><?php echo $umfrage[$IE40];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>IE5.0</b></td>
<td> </td><td width="<?php echo $laengeIE50;?>" bgcolor="grey"> </td>
<td> <i><?php echo $umfrage[$IE50];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>Opera</b></td>
<td> </td><td width="<?php echo $laengeOPER;?>" bgcolor="blue"> </td>
<td> <i><?php echo $umfrage[$OPER];?></i></td>
</tr></table>
<table border="0">
<tr>
<td><b>Andere Browser</b></td>
<td> </td><td width="<?php echo $laengeOTHER;?>" bgcolor="magenta"> </td>
<td> <i><?php echo $umfrage[$OTHER];?></i></td>
</tr></table>
</body>
</html>

Danke im Voraus für Tip.

mfg
BenC