Bei PHP Umfrage treten "Parse Error" auf, kann den Fehler nicht finden !

digiTAL

Erfahrenes Mitglied
Hallo,

habe nach langem Suchen ein UmfrageScript gefunden das ohne MySQL auskommt. Habe dieses Script natürlich abgeändert, damit es in meiner Homepage passt.

Leider sind viele Fehler aufgetreten, die ich einigermaßen beheben konnte. Aber jetzt ist denk ich mal noch ein Fehler wo ich nicht weiß was ich hier abändern soll.
Ich kenn mich mit PHP noch nicht so gut aus, bin gerade dabei es zu lernen.

Hier die Fehlermeldung:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /usr/export/www/vhosts/funnetwork/hosting/chrizhome/index.php on line 89

betreffende Zeile ---> echo "<img src=\"blau.gif\" width=\"$breite[$i]\" height=\"12\" align=\"absmiddle\">";

Quellcode:
PHP:
<?php
$varia=file("data/fragen.txt","r");

$frage=array_pop($varia);

echo "<div class=\"main_text\"><b> $frage </b><br /><br />";
echo "<table width=\"680\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr>";
echo "<td width=\"340\" valign=\"top\" class=\"umfrage\">";
echo "<form action=\"index.php\" method=\"post\">"; 

$i=0;
while(isset($varia[$i])) {
$j=$i+1;
echo "<input type=\"radio\" name=\"ant\" value=\"$j\"> $varia[$i]<br />";
$i++;
} 
echo "<br />";
echo "<input type=\"submit\" value=\"Abstimmen\" class=\"button\"></form></td>";

$z=file("antworten.txt","r"); 

if ($ant!='') { 

$lvote=fopen("lastip.txt","r");
$lv=fgets($lvote,255);
fclose($lvote);
$ip=getenv("REMOTE_ADDR");
if ($lv!=$ip) { 

$z[$ant-1]=$z[$ant-1]+1;
$datei=fopen("antworten.txt","w");
foreach ($z as $save) {fputs($datei,chop($save)."\n");}
fclose($datei); 

$lvote=fopen("lastip.txt","w");
fputs($lvote,"$ip");
fclose($lvote);
}
} 

$laenge=100; 

$gesamt=0;
foreach($z as $zahl)
{ $gesamt=$gesamt+$zahl; } 

$proz=array();
foreach ($z as $zahl) {
if ($gesamt!=0) {
$p=round($zahl/$gesamt*10000)/100;
array_push($proz,$p);
}
} 

$max=1;
foreach ($z as $zahl) {
$zahl=$zahl*10/10;
if($zahl > $max) { $max=$zahl; }
} 

$breite=array();
foreach ($z as $zahl)
{
$b=$zahl*$laenge/$max;
array_push($breite,$b);
} 

$i=0;
while (isset($z[$i]))
{
echo "$varia[$i]<br />"; 

echo "<td width=\"340\">
echo "<img src=\"blau.gif\" width=\"$breite[$i]\" height=\"12\" align=\"absmiddle\">";
echo "$proz[$i]%";
echo "<br>";
$i++;
}
echo "<br>Stimmen: $gesamt (100%)";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</div>";

?>

was muss ich da ändern, damit das geht?

thx digiTALE
 
Wie am Syntaxhighlighting zu erkennen ist, fehlt am Ende der Zeile davor ein Anführungszeichen zum abschließen des Strings und ein Semikolon zum abschließen der Anweisung.

Gruß hpvw
 
Oh Sorry, aber bei mir ist dort "\" vorhanden, keine Ahnung warum der das nicht mit reinkopiert hat.
Aber trotzdem funktioniert das nicht!
 
PHP:
#...
while (isset($z[$i])) 
{ 
echo "$varia[$i]<br />"; 

echo "<td width=\"340\">"; 
echo "<img src=\"blau.gif\" width=\"$breite[$i]\" height=\"12\" align=\"absmiddle\">"; 
echo "$proz[$i]%";
#...

tausch diese Stelle mit dem Code oben aus.
 
Hmm ...

Leider ist noch ein Fehler aufgetreten wenn ich abstimme. Hängt wahrscheinlich mit der ip abspeicherung zusammen !?
 
Zuletzt bearbeitet:
fopen(lastip.txt): failed to open stream: No such file or directory in.....
Ich würde sagen im root-Verzeichnis fehlt die Datei namens "lastip.txt".
Das hat gar nix mit der IP-Abspeichrung zu tun, so weit kommts gar net ;)

Fehlermeldungen sind da, um gelesen zu werden.
 
Zurück