Umfrag funktioniert nicht ganz

hi,

sorry erstmals, dass ich so viele probleme hab… :smiley:

mein umfragen skript leifert diese Fehler (den lezten mehrere male), beim anzeigen der ergebnisse:

[quote]Warning: file_get_contents() expects parameter 1 to be string, resource given in /users/vpu/www/test/um/index.php on line 31

Warning: Division by zero in /users/vpu/www/test/um/index.php on line 60
[/quote]

linie mit file_get_contents:

$dat1 = fopen("1.sdt", "r"); $dat2 = file_get_contents($dat1); $dat3 = explode("\n", $dat2);was ist falsch??

die operation 100 / $dat6[0] * $data sollte doch eigentlich gehen??(linie60)
($dat6[0] hat den wert 1 und $data auch)
$dat6[1] hat garkeinen wert… (oder 0) wie kann ich aber die operation so umstellen, dass es keine division durch 0 gibt?
MfG

1.:

  $dat1 = "1.sdt";
  $dat2 = file_get_contents($dat1);
  $dat3 = explode("\n", $dat2);

2.:
mach doch ne if-abfrage:

if ($dat6[0] != 0) {
    $ergebnis = 100 / $dat6[0] * $data;
}

Ach danke
werds nochmal versuchen
MfG

Cool :p es tut (jedenfalls das mit dem 0)
jezt hab ich das problem, dass da nix geschrieben wird
das ist der ausschnit, der dafür verantwortlich ist;

$dat1 = "1.sdt"; $dat2 = file_get_contents($dat1); $dat3 = explode("\n", $dat2); //30 if(isset($_GET["aid"]) == true) { $i = 0; switch($_GET["uid1"]) { case "yb": $p = 0; break; case "rb": $p = 1; break; //40 case "ry": $p = 2; break; case "dby": $p = 3; break; case "ydb": $p = 4; break; } //50 $dat3[$p] ++; $dat2 = implode("\n", $dat3); $dat5 = "1.sdt"; file_put_contents($dat5, $dat2); }
könnte es an $dat3[$p]++; liegen?
wie muss das denn wirglisch heissen?
mfg

:cry: jetzt freute ich mich schon, weil es geht, aber:
nur beim letzten punkt (insgesamt 5) wird es auch wirklich erhöht
an was liegt das?

[...] { $dat1 = "1.sdt"; $dat2 = file_get_contents($dat1); $dat3 = explode("\n", $dat2); //30 if(isset($_GET["aid"]) == true) { $i = 0; switch($_GET["uid1"]) { case "yb": $p = 0; break; case "rb": $p = 1; break; //40 case "ry": $p = 2; break; case "dby": $p = 3; break; case "ydb": $p = 4; break; } //50 $dat3[($p)] ++; $dat2 = implode("\n", $dat3); $dat5 = "1.sdt"; file_put_contents($dat5, $dat2); } $data = $dat3[0] + $dat3[1] + $dat3[2] + $dat3[3] + $dat3[4]; if($dat3[0] != 0) { $dat6[0] = 100 * $dat3[0] / $data; } else { $dat6[0] = 0; // 60 } if($dat3[1] != 0) { $dat6[1] = 100 * $dat3[1] / $data; } else { $dat6[1] = 0; } if($dat3[2] != 0) { $dat6[2] = 100 * $dat3[2] / $data; } else { $dat6[2] = 0; //70 } if($dat3[3] != 0) { $dat6[3] = 100 * $dat3[3] / $data; } else { $dat6[3] = 0; } if($dat3[4] != 0) { $dat6[4] = 100 * $dat3[4] / $data; } else { $dat6[4] = 0; //80 } echo "<table>\n"; echo "<tr><td><div id=\"1\" style=\"background-image: url(balken.jpg); hight: 25px; width: ". $dat6[0]*2 ."px;\"></div></td><td>". round($dat6[0], 2) ."%</td></tr>\n"; echo "<tr><td><div id=\"1\" style=\"background-image: url(balken.jpg); hight: 25px; width: ". $dat6[1]*2 ."px;\"></div></td><td>". round($dat6[1], 2) ."%</td></tr>\n"; echo "<tr><td><div id=\"1\" style=\"background-image: url(balken.jpg); hight: 25px; width: ". $dat6[2]*2 ."px;\"></div></td><td>". round($dat6[2], 2) ."%</td></tr>\n"; echo "<tr><td><div id=\"1\" style=\"background-image: url(balken.jpg); hight: 25px; width: ". $dat6[3]*2 ."px;\"></div></td><td>". round($dat6[3], 2) ."%</td></tr>\n"; echo "<tr><td><div id=\"1\" style=\"background-image: url(balken.jpg); hight: 25px; width: ". $dat6[4]*2 ."px;\"></div></td><td>". round($dat6[4], 2) ."%</td></tr>\n"; echo "</table>"; } ?>
der teil, der verantwortlich fürs erhöhen und anzeigen ist
mfg

Edit: der link: klick!

ach ja, das könnte natürlich auch daran liegen, was sonst noch so in der datei steht(glaub ich zwar net, kann ja sein :smiley: )

[code]<?php
//test umfrasche//
if(isset($_GET[„uid1“]) == false) {
//wenn noch nicht abgestummen wurde//
echo "<form name=„uid“ method=„get“ action=„http://vpu.bplaced.net/test/um/index.php“>

Welches Design soll als nächstes eingeführt werden
Yellow/black
Red/black
Red/yellow
Darkblue/yellow
Yellow/darkblue
"; } else { //wenn schon abgestummen wurde// $dat1 = "1.sdt"; $dat2 = file_get_contents($dat1); $dat3 = explode("\n", $dat2); if(isset($_GET["aid"]) == true) { //falls die Stimme gezählt werden sollte// $i = 0; switch($_GET["uid1"]) { case "yb": $p = 0; break; case "rb": $p = 1; break; case "ry": $p = 2; break; case "dby": $p = 3; break; case "ydb": $p = 4; break; } $dat3[($p)] ++; $dat2 = implode("\n", $dat3); $dat5 = "1.sdt"; file_put_contents($dat5, $dat2); } $data = $dat3[0] + $dat3[1] + $dat3[2] + $dat3[3] + $dat3[4]; if($dat3[0] != 0) { $dat6[0] = 100 * $dat3[0] / $data; } else { $dat6[0] = 0; } if($dat3[1] != 0) { $dat6[1] = 100 * $dat3[1] / $data; } else { $dat6[1] = 0; } if($dat3[2] != 0) { $dat6[2] = 100 * $dat3[2] / $data; } else { $dat6[2] = 0; } if($dat3[3] != 0) { $dat6[3] = 100 * $dat3[3] / $data; } else { $dat6[3] = 0; } if($dat3[4] != 0) { $dat6[4] = 100 * $dat3[4] / $data; } else { $dat6[4] = 0; } // auch wenn die stimme schon gezählt wurde// echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
". round($dat6[0], 2) ."%
". round($dat6[1], 2) ."%
". round($dat6[2], 2) ."%
". round($dat6[3], 2) ."%
". round($dat6[4], 2) ."%
"; echo "Statistik aktualisieren"; } ?>[/code] das ist die ganze index.php (auf der läuft alles :p oder eben nicht :ps: )