Ankündigung

Einklappen
Keine Ankündigung bisher.

Continue-Befehl wird nicht ausgeführt

Einklappen

Neue Werbung 2019

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

  • Continue-Befehl wird nicht ausgeführt

    Hallo,

    habe Probleme mit meinem Quiz-Code und weiß nicht warum?

    PHP-Code:
    echo "<form action='' target='_self' accept-charset='UTF-8' method='post'>";
    echo 
    "<p><INPUT class='ButtonQuiz' NAME='BQuiz' TYPE='SUBMIT' VALUE='Quiz Starten'>";
        if(isset(
    $_POST['BQuiz']))
        {
        while(
    $rec mysqli_fetch_array($resMYSQLI_ASSOC))
            {        
            echo 
    "<h3>Frage:</h3>";
            echo 
    "<h4>$frage </h4>";
            echo 
    "<input type='radio' class='RAntwort' name='Antwort' value='a1'>  $a1  <br>";
            echo 
    "<input type='radio' class='RAntwort' name='Antwort' value='a2'>  $a2  <br>";
            echo 
    "<input type='radio' class='RAntwort' name='Antwort' value='a3'>  $a3  <br><br>";
            echo 
    "<input type='button' class=\"ButtonQuiz\" name='Quelle' value='Lösung' onclick='Ergebnis()'>";
            echo 
    "<input type='button' class=\"ButtonQuiz\" name='Next' value='Neue Frage' onclick='continue';>";
            echo 
    "</form>";
            return;
            }
        } 
    Beim Klick auf den letzten button soll der continue-Befehl ausgeführt und die nächste Frage angezeigt werden.

    Firebug bringt die Fehlermeldung: SyntaxError: continue must be inside loop

    Was mache ich da falsch? Der Befehl ist doch innerhalb der Schleife?

    Vielen Dank für Tipps.
    LG, Sturmwolke

  • #2
    Der Befehl ist doch innerhalb der Schleife?
    Ja, aber innerhalb einer PHP-Schleife ...
    Firebug bringt die Fehlermeldung: SyntaxError: continue must be inside loop
    ... und das bezieht sich auf JavaScript-Kommando

    Siehe: http://php-de.github.io/jumpto/was-ist-php/

    Und schau dir für dein Vorhaben auch unbedingt das EVA Prinzip an. http://php-de.github.io/jumpto/eva-prinzip/

    LG
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Ich hab mir die Links angesehen, bin aber trotzdem nicht sicher, wie es jetzt mit meinem Progrämmchen weitergeht.

      Vor meiner Schleife habe ich auf dem Server Datensätze ausgewählt, geladen und Variabeln zugewiesen.
      Innerhalb der Schleife muß also nicht mehr auf den Server zugegriffen, sondern nur das array zeilenweise ausgegeben und die Benutzer-Klicks ausgewertet werden.

      Nach Deinem Link heißt das, daß ich die Schleife selber nicht mehr in php, sondern in javasript programmieren muß.

      Ich hab also versucht, php vor der Schleife mit dem Ende-Tag zu beenden, "echo" vor den Anweisungen entfernt und einen Meta-Tag mit javascript eingefügt.

      Damit habe ich aber nur erreicht, daß meine if- und while-Schleifenbedingungen als Text ausgegeben werden.

      Nach dieser Seite
      https://developer.mozilla.org/de/doc...ide/Statements
      sieht das alles recht einfach aus.

      Was habe ich jetzt noch übersehen?
      LG, Sturmwolke

      Kommentar


      • #4
        Vor meiner Schleife habe ich auf dem Server Datensätze ausgewählt, geladen und Variabeln zugewiesen.
        Innerhalb der Schleife muß also nicht mehr auf den Server zugegriffen, sondern nur das array zeilenweise ausgegeben und die Benutzer-Klicks ausgewertet werden.

        Nach Deinem Link heißt das, daß ich die Schleife selber nicht mehr in php, sondern in javasript programmieren muß.
        Also mir scheint da hast du grundsätzlich was noch nicht ganz verstanden.

        PHP läuft am Webserver (also der PHP-Code selbst bzw. dessen Ausführung und auch die Datenbankzugriffe/Aktionen) und schickt nach Fertigstellung die Ausgabe (idR HTML-Code) an den Client/den Browser. Der Browser enthält damit feritgen HTML Code und auch Javascript. Das Javascript wird im Browser ausgeführt, dh wenn Javascript "läuft" ist PHP schon feritg und erledigt (AJAX jetzt mal aussen vorgelassen, später).

        Wenn du in deinem Browser rechte Maustaste und "Quelltext anzeigen" machst, dann siehst du was PHP dem Browser "geschickt" hat und mit dem muss der Browser dann "alleine" klarkommen. Wenn du im Browser einen Link klickst, oder ein Form submittest etc.. wird wieder ein neuer Request an den Webserver gestellt, dh dann ist PHP wieder an der Reihe.
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Wenn du im Browser einen Link klickst, oder ein Form submittest etc.. wird wieder ein neuer Request an den Webserver gestellt, dh dann ist PHP wieder an der Reihe.
          Hmm, aus der Überlegung heraus, hatte ich schon mal einen Submit-Button am Quizende gelöscht. Da der Browser ja schon alle Daten hat, die er braucht, dachte ich, ich könnte die Auswertung mit Eventhandlern realisieren.

          Onfocus für die Radio-Buttons soll die Farbe der Fragen in rot oder grün ändern und onklick auf die letzten beiden Buttons die Lösungs-Variable ausgeben bzw. per continue die nächste Frage anzeigen.

          Das müßte mit javascript doch möglich sein. Sorry, aber im Moment steh ich auf der Leitung.

          Wenn ich php vor der Schleife beende, führt er die Schleife nicht aus und zeigt keine Daten an, wenn ich php nicht beende, zeigt er die Daten an, führt aber meine javascripts zur Auswertung nicht aus. Irgendwie dreh ich mich da im Kreis.
          LG, Sturmwolke

          Kommentar


          • #6
            "continue-befehl" im bezug auf Javascript ist ein verwirrender PHP-Unterforen-Titel.
            [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

            Kommentar

            Lädt...
            X