Anzeige

Quizauswertung mit PHP - Finde den Fehler nicht

Quizauswertung mit PHP - Finde den Fehler nicht | PSD-Tutorials.de

Erstellt von sunbrust, 21.01.2014.

  1. sunbrust

    sunbrust Noch nicht viel geschrieben

    Dabei seit:
    06.03.2013
    Beiträge:
    25
    Quizauswertung mit PHP - Finde den Fehler nicht
    Hallo Leute,

    ich möchte ein Quiz programmieren. Der User bekommt pro richtiger Frage 1 Punkt.
    Die Navigation der Webseite wird mit php geregelt. ?seite=....


    Hier mal mein Code von dem Quiz.
    Code (Text):
    1. <form action="?seite=quiz" method="post">
    2.     <div align="left">
    3.         <b>1. Frage 01?</b><br><br>
    4.         <input type="radio" name="Frage1" value="1"> a<br>
    5.         <input type="radio" name="Frage1" value="2"> b<br>
    6.         <input type="radio" name="Frage1" value="3"> c<br>
    7.         <input type="radio" name="Frage1" value="4"> d<br>
    8.         <br><br>
    9.         <b>1. Frage 02?</b><br><br>
    10.         <input type="radio" name="Frage2" value="1"> a<br>
    11.         <input type="radio" name="Frage2" value="2"> b<br>
    12.         <input type="radio" name="Frage2" value="3"> c<br>
    13.         <input type="radio" name="Frage2" value="4"> d<br>
    14.        
    15.             <?php
    16.         if (isset($_POST['submit'])) {
    17.         $punkte = 0;
    18.         $text = "";
    19.         if($_POST["Frage1"] == "4") {
    20.         $punkte = $punkte + 1;
    21.         }
    22.         else {
    23.         $punkte = $punkte + 0;
    24.         }
    25.         if($_POST["Frage2"] == "2") {
    26.         $punkte = $punkte + 1;
    27.         }
    28.         else {
    29.         $punkte = $punkte + 0;
    30.         }
    31.             if ($punkte <= 4)
    32.         {
    33.             $text = "text1";
    34.         }
    35.         else if ($punkte > 4 && $punkte <= 8)
    36.         {
    37.             $text = "Text2";
    38.         }
    39.         else if ($punkte > 8)
    40.         {
    41.             $text ="text3";
    42.         }
    43.         else
    44.         {
    45.             $text = "";
    46.         }
    47.         if($punkte == 1) {
    48.         echo "Du hast ". $punkte ." Punkt erreicht<br>". $text;
    49.         }
    50.         else {
    51.         echo "Du hast ". $punkte ." Punkte erreicht<br><br>". $text.<br><br>;
    52.         }
    53.         }
    54.         ?>
    Nun habe ich folgendes Problem. Ohne die "isset Funktion" bekomme ich ja "undefined index..."
    Und das Skript gibt dann auch jeden Ergebnistext aus.
    Wenn ich dann einmal ein paar Antworten richtig eingebe und absende, rechnet php ganz normal und es funktioniert einwandfrei.

    Seitdem ich die "isset Funktion" drinnen habe, macht das Skript gar nichts mehr wenn ich auf absenden drücke. Das heißt, die Seite wird schon neu geladen und vielleicht passiert etwas, aber es wird nur das Formular angezeigt. Ohne Ergebnis.

    Ich finde den Fehler leider nicht. Vielleicht kann mir da jemand von euch weiterhelfen.
    Hier sind bestimmt die meisten fitter in php als ich.

    Wäre echt super.
     
    #1      
  2. hub

    hub nicht ganz neu hier

    Dabei seit:
    11.06.2008
    Beiträge:
    1.116
    Geschlecht:
    männlich
    Ort:
    Taunus
    Software:
    PS,Lr. VS Code, NP++, ...
    Kameratyp:
    Sony a 6000
    Quizauswertung mit PHP - Finde den Fehler nicht
    Moin moin,
    ist das der vollständige Code? Dann ist er fehlerhaft, aber folgt dort aber noch einiges, hast du das wesentliche noch nicht mitgeteilt: wie heisst dei Submit-Button?
    PHP:
    1. $text.<br><br>;
    Hier streikt PHP mit Sicherheit ...

    Gruß Ulli
     
    #2      
  3. sunbrust

    sunbrust Noch nicht viel geschrieben

    Dabei seit:
    06.03.2013
    Beiträge:
    25
    Quizauswertung mit PHP - Finde den Fehler nicht
    Danke für deine Antwort.

    Ich hatte es gekürzt. Den einen Fehler hatte ich schon entdeckt
    PHP:
    1. $text. "<br><br>". etc
    Das mit dem Submit-Button war wirklich der Fehler

    Code (Text):
    1. <input type="submit" name="send" value="Auwerten!"> <input type="reset" name="reset" value="Zur&uuml;cksetzen!">
    Ich habe das geändert. Nun sendet er auch die Daten. Ich bekomme allerdings die Fehlermeldung

    Notice: Undefined index: Frage1 in ... on line 76

    Notice: Undefined index: Frage2 in ... on line 82

    Und das dann eben für jede Frage.
    Weißt du woran das liegen könnte?
     
    #3      
  4. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Quizauswertung mit PHP - Finde den Fehler nicht
    Wenn du keinen Radio-Button auswählst, wird nichts für dieses Element im POST mitgeschickt, also kennt PHP es nicht.


    Duddle
     
    #4      
  5. sunbrust

    sunbrust Noch nicht viel geschrieben

    Dabei seit:
    06.03.2013
    Beiträge:
    25
    Quizauswertung mit PHP - Finde den Fehler nicht
    Stimmt, Danke dir. Habs hinbekommen.
    Läuft nun einwandfrei.

    Danke euch beiden.
     
    #5      
x
×
×