Umfrage mit mehr als eine Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umfrage mit mehr als eine Frage

    Hallo,
    ich brauche ein Umfrage Script welches mehr als eine Frage gleichzeitig beinhaltet. Die Auswertung soll der User nicht zu sehen bekommen.
    Ich bin nicht der PHP experte deswegen habe ich mir mal ein normales Vote/Poll Script runtergeladen. Die Auswertung habe ich schon mal in eine seperate PHP Datei gepackt. Das Script läuft mit txt. Dateien.
    1 x frage.txt und 1x antworten.txt.
    Jetzt habe ich für eine 2. frage eine frage2.txt und antwort2.txt Datei erstellt. Das Script habe ich jetzt auch soweit erweitert das ich 2 Fragen
    mit radio Buttons angezeigt bekomme. Leider weiss ich jetzt nicht weiter.
    Vielleicht kann mir einer helfen. Hier ist mal der Quelltext:

    PHP-Code:
    <?
    // Definition der Variablen für Frage 1 ----------------------------------------------------------------------//
    $varia=file("fragen1.txt","r");
    $frage=array_pop($varia);

    // Frage wird ausgegeben -------------------------------------------------------------------------------------//
    echo "$frage";


    // Das Formular wird erstellt --------------------------------------------------------------------------------//
    echo "<form action=\"$PHP_SELF\" method=\"post\">";


    // Antwortmöglichkeiten als Radio Button ---------------------------------------------------------------------//
    $i=0;
    while(isset($varia[$i])) {
    $j=$i+1;
    echo "<input type=\"radio\" name=\"ant\" value=\"$j\">$varia[$i]<br>";
    $i++;
    }


    ///////////////////////////
    //////////////////////////
    // Definition der Variablen für Frage 2 //
    $varia2=file("fragen2.txt","r");
    $frage2=array_pop($varia2);
    //////////////////////////
    //////////////////////////

    ?><BR><HR><BR><?



    //////////////////////////
    /////////////////////////
    // Frage 2 wird ausgegeben //
    echo "$frage2";
    ////////////////////////////
    ///////////////////////////

    ?><BR><BR><?


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Antwortmöglichkeiten als Radio Button ///////////////////////////////////////////////////////////////////////
    $i=0;
    while(isset($varia2[$i])) {
    $j=$i+1;
    echo "<input type=\"radio\" name=\"ant2\" value=\"$j\">$varia2[$i]<br>";
    $i++;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////



    ?><BR><BR><?       // Ab hier weiss ich nicht mehr weiter !!!!!!!!!!!!

    // Der Submit Button -----------------------------------------------------------------------------------------//
    echo "<input type=\"submit\" value=\"abstimmen\">";
    echo "</form>";


    // Der Variablen $z (Array) werden die Zahlen der Antworten zugewiesen ---------------------------------------//
    $z=file("antworten1.txt","r");


    // Dann wird überprüft ob eine Abstimmung erfolgte -----------------------------------------------------------//
    if ($ant!='') {


    // Wenn das der Fall ist wird auch überprüft ob der Besucher schon gestimmt hat.------------------------------//
    // Dafür wird in der Variablen $lvote die letzte IP-Adresse, die sich in 'lastip.txt' befindet----------------//
    // gespeichert und dann mit der aktuellen IP-Adresse verglichen ----------------------------------------------//
    $lvote=fopen("lastip.txt","r");
    $lv=fgets($lvote,255);
    fclose($lvote);
    $ip=getenv("REMOTE_ADDR");
    if ($lv!=$ip) {


    // Wenn sich die beiden IPs unterscheiden, d.h. wenn der Besucher nicht abgestimmt hat, ----------------------//
    // wird die entsprechende Anzahl einer Antwort um 1 erhöht und in die 'antworten.txt' zurückgeschrieben-------//
    $z[$ant-1]=$z[$ant-1]+1;
    $datei=fopen("antworten1.txt","w");
    foreach ($z as $save) {fputs($datei,chop($save)."\n");}
    fclose($datei);



    // Anschließend wird die IP-Adresse gespeichert --------------------------------------------------------------//
    $lvote=fopen("lastip.txt","w");
    fputs($lvote,"$ip");
    fclose($lvote);


    // Wenn Daten OK erfolgt nach klick auf dem Submit Button kommt eine Bestätigungs Meldung. -------------------//
         echo "<p>\n";
         echo "    Ihre Umfrage wurde erfolgreich versendet.\n";
         echo "    Vielen Dank!\n";
         echo "</p>\n";
         } else {


    // Falls die IP-Adresse bereits in der 'lastip.txt' eingetragen ist erfolgt folgende Fehlermeldung. ----------//
         echo "<p>\n";
         echo "    Sie haben bereits an der Umfrage teilgenommen.\n\n";?><BR><?
         echo "  Es kann nur einmal gevotet werden!\n";
         echo "</p>\n";

    }
    }

    ?>
    EDIT:
    php.tags by Abraxax
    Zuletzt geändert von Abraxax; 11.09.2003, 09:16.

  • #2
    Re: Umfrage mit mehr als eine Frage

    ich sehe dein script die datei fragen1.txt und fragen2.txt öffnen, um die fragen einzulesen.
    aber ich sehe es lediglich in die datei antworten1.txt was reinschreiben - jedoch nicht in antworten2.txt ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      re

      Ja genau darum gehts ja ich weiss da nicht weiter. Wie gesagt ich habe kaum Plan von PHP. Und die Umfrage bzw. Vote Scripts basieren alle auf nur eine Frage.

      Kommentar


      • #4
        re

        Hat sich erledigt habs selber hinbekommen.
        Aber kann mir vielleicht noch einer sagen an welcher stelle ich ein
        echo machen muss falls einer ohne zu voten auf abstimmen klickt und eine
        alert meldung kommt wie z.b. "Es müssen alle Fragen beantwortet werden".

        Kommentar


        • #5
          Re: re

          Original geschrieben von wizzardxx
          Aber kann mir vielleicht noch einer sagen an welcher stelle ich ein
          echo machen muss falls einer ohne zu voten auf abstimmen klickt
          PHP-Code:
          // Dann wird überprüft ob eine Abstimmung erfolgte -----------------------------------------------------------//
          if ($ant!='') { 
          das ist die abfrage, ob eine abstimmung erfolgt ist.

          baue einen geeigneten else-zweig ein, für den fall das keine erfolgt ist.


          und beschäftige dich mal ein bisschen mehr mit den grundlagen, bevor du dich das nächste mal an solche sachen heranbegibst.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            re

            Habe ich jetzt mal gemacht aber das Problem ist das er mir die Meldung schon ausgibt obwohl ich noch gar nicht den Submit Button geklickt habe.

            if Bedingung1 {
            anweisungsblock 1

            if Bedingung2{
            anwendungsblock2


            } else {

            }

            } else {

            }
            ?>

            .................
            // Wenn Daten OK erfolgt nach klick auf dem Submit Button kommt eine Bestätigungs Meldung. -------------------//
            echo "<p>\n";
            echo " Ihre Umfrage wurde erfolgreich versendet.\n";
            echo " Vielen Dank!\n";
            echo "</p>\n";
            }
            else
            {

            // Falls die IP-Adresse bereits in der 'lastip.txt' eingetragen ist erfolgt folgende Fehlermeldung. ----------//
            echo "<p>\n";
            echo " Sie haben bereits an der Umfrage teilgenommen.\n\n";?><BR><?
            echo " Es kann nur einmal gevotet werden!\n";
            echo "</p>\n";

            }

            }
            else
            {

            echo "<p>\n";
            echo " Es müssen alle Fragen beantwortet werden!\n";
            echo "</p>\n";

            }

            ?>

            Kommentar

            Lädt...
            X