Versuch mal das hier… hab ich aus einem PHP Buch
Du brauchst eine Datei „result.txt“ da steht nichts drin
dann die datei umfrage.php mit diesem inhalt:
<?php
if (isset($_POST["ergebnis"])) {
setcookie("voted", "ja");
}
?>
Unsere Web-Umfrage
Wie findest du meine Page?
echt super
ziemlich gut
geht so
<?php
if (empty($_COOKIE["voted"]) && !isset($_POST["ergebnis"])) {
// Submit nur zeigen, wenn Formular noch nicht abgeschickt/gevoted
?>
<?php
} else {
echo "
Danke für die Übermittlung der Daten!
\n";
// Formular abgeschickt? Aber bisher noch nicht gevoted?
if (empty($_COOKIE["voted"]) && isset($_POST["ergebnis"])) {
// Dateiname in Variable speichern
$datei = "result.txt";
$fp = fopen($datei, "r+");
$vote = fread($fp, filesize($datei));
// String aus Datei mit Komma als Trenner in Array zerlegen
$vote = explode(",", $vote);
// Welcher Wert wurde im Formular ausgewählt?
// Diese Position wird um 1 erhöht!
$vote[$_POST["ergebnis"]]++;
// String neu zusammensetzen
$vote = $vote[0] . "," . $vote[1] . "," . $vote[2];
rewind($fp);
// neuen String in Datei schreiben
fputs($fp, $vote);
fclose($fp);
}
}
?>
[ Umfrageergebnisse ansehen ]
Und noch die Datei ergebnis.php:
Eine Web-Umfrage
Die Umfrage-Ergebnisse:
<?php
$datei = "result.txt";
$fp = fopen($datei, "r");
$vote = fread($fp, filesize($datei));
fclose($fp);
// String zerlegen, Array entsteht
$vote = explode(",", $vote);
// Gesamtzahl aller Wahlvorgänge
$gesamt = $vote[0] + $vote[1] + $vote[2];
if ($gesamt > 0) {
// Höchstlänge der Balken angeben
$laenge = 400;
// Anteil von Balken 1 (Indexwert 0!)
$laenge0 = $vote[0] * $laenge / $gesamt;
// Anteil von Balken 2 (Indexwert 1!)
$laenge1 = $vote[1] * $laenge / $gesamt;
// Anteil von Balken 3 (Indexwert 2!)
$laenge2 = $vote[2] * $laenge / $gesamt;
// Werte auf ganze Zahlen runden
$laenge0 = round($laenge0);
$laenge1 = round($laenge1);
$laenge2 = round($laenge2);
// Prozentwert 0 ermitteln:
$prozent0 = 100 * $vote[0] / $gesamt;
// Prozentwert 0 runden:
$prozent0 = round($prozent0);
// Prozentwert 1 ermittlen und runden:
$prozent1 = 100 * $vote[1] / $gesamt;
$prozent1 = round($prozent1);
// Prozentwert 2 ermittlen und runden:
$prozent2 = 100 * $vote[2] / $gesamt;
$prozent2 = round($prozent2);
?>
Anzahl der Stimmen: <?php echo $gesamt; ?>
echt super |
| |
<?php echo "$prozent0% ($vote[0])"; ?> |
ziemlich gut |
| |
<?php echo "$prozent1% ($vote[1])"; ?> |
geht so |
| |
<?php echo "$prozent2% ($vote[2])"; ?> |
<?php
} else {
echo "
Bisher wurden noch keine Stimmen abgegeben!
";
}
?>
das ergebnis dann einfach mit javascript in einem popupfenster öffnen…
du musst den code natürlich dann für dich anpassen mit der ja und nein funktion… aber ich denke das wird kein problem sein 