Frage zu Umfragescript: Nach Abstimmen Formular verschwinden lassen

slep

Grünschnabel
Hallo!

Ich habe eine Frage zum Umfragescript (http://www.tutorials.de/forum/php-tutorials/5549-php-umfrage.html), und zwar:

Wenn ich abgestimmt habe, soll erst das Ergebnis kommen und das Formular verschwinden.
D.h. wenn ich auf die Seite zum Abstimmen komme, sehe ich zuerst das Formular, dass stimme ich ab, das Formular verschwindet und ich sehe das Ergebnis.

Kann mir das Script vielleicht kurz jemand umschreiben, dass es so aussieht? Sollte ja kein großer Akt sein, oder


Danke schon jetzt für jede Mühe und Antwort! :)


slep
 
ICh würde es einmach mit Cookies machen.
Sobal einer abgestimmt hat, wird ein Cookie gesetzt.
Wenn der Cookie vorhanden ist, wird das Formular nicht angezeigt.
Stichwort: Google -> Cookies, php

Wenn sich die Mitglieder einloggen müssen, kansnt du es auch mit MySQL machen
 
hi

leider bin ich totaler in dem ganzen zeugs, also kann ich mit dem auch nicht viel anfangen. würde eh schneller gehen, wenn man es einfach für mich umschreibt glaube ich :-)
 
Ok folgendes wäre zutun:
1. du lagerst die beiden abschnitte in jeweils einem eigenem PHP-File aus:
ergebnis.php
PHP:
////////////////////////////////////////////////////////////
// jetzt startet die Ausgabe! zuerst mal die Ueberschrift //
////////////////////////////////////////////////////////////

echo "<H1>".$frage."</H1>\n\n";  //Ueberschrift schreiben

////////////////////////////////////////
// dann das Ergebnis als Balkengrafik //
////////////////////////////////////////

$i=0;
for ($i; $i<$anzahl; $i++) {  //fuer jede Option
    $j=0;
    echo $option[$i]."&nbsp;&nbsp;&nbsp;<FONT COLOR=\"".$farbe[$i]."\">";  //Option ausgeben und Farbe setzen
    for($j; $j<$votes[$i]; $j++) {  //fuer Anzahl der Votes
        echo "|";  //je einen Strich ausgeben
    }
    echo "&nbsp;&nbsp;&nbsp;".$votes[$i]."</FONT><BR>\n";  //Balken zu ende, also Zeilenumbruch
}
und formular.php
PHP:
////////////////////////////////////
// am Schluss das Auswahlformular //
////////////////////////////////////

echo "<FORM ACTION=\"".$PHP_SELF."\" METHOD=\"Post\">\n";  //Formular anfangen
$i=0;
for ($i; $i<$anzahl; $i++) {  //fuer jede Option
    echo "<INPUT TYPE=\"radio\" NAME=\"radio\" VALUE=\"".$i."\">".$option[$i]."<BR>\n";  //Radiobutton anzeigen
}

echo "<INPUT TYPE=\"Submit\" VALUE=\"Abstimmen\" NAME=\"submitvote\"></FORM>";  //Formularende

folgender Part im Orginal wird jetzt geändert:
- Nach fclose() wird jetzt ein Cookie gesetzt
und ab da an erfolgt die Abfrage ob ein Cookie gesetzt wurde, wenn ja...wird das Ergebnis gezeigt, wenn nicht erscheint das Formular.
PHP:
//////////////////////////////////////////////////////////////////////////////////////////////////
// wurde abgestimmt? wenn ja, dann muessen wir das Ergebnis anpassen und in die Datei schreiben //
//////////////////////////////////////////////////////////////////////////////////////////////////

if ($submitvote) {
    settype($votes[$radio],"integer");
    $votes[$radio]++;  //entsprechende Option um eins erhoehen
    $handle = fopen($datei, "w+");  //Datei oeffnen
    $i=0;
    for ($i; $i<$anzahl; $i++) {  //fuer jede Option
        settype($votes[$i],"integer");
        fputs($handle,"$votes[$i]\n");  //Anzahl in Datei schreiben (mit Zeilenvorschub)
    }
    fclose($handle);  //Datei wieder schliessen
    setcookie("deinVoteCookie", true, time()+43200);
} 

if ($_COOKIE['deinVoteCookie']) {
    include('ergebnis.php');
} else {
    include('formular.php');
}

Gruß X-Color
 
Zurück