PHP-Code wird mitten im Befehl abgebrochen

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

  • PHP-Code wird mitten im Befehl abgebrochen

    Ich habe ein kurzes Skript geschrieben, bei dem ich überprüfen wollte, ob ich eine Javascript-Anweisung richtig verstanden habe und ob sie mir bei einem anderen Projekt weiterhelfen kann. Im Grunde soll bei dem Skript lediglich ein Button gedrückt werden, der die aktuelle Seite nochmal aufruft, dabei aber eine Variable inklusive Wert übergibt und mit PHP soll der Wert der Variable überprüft werden und per echo eine kurze Bestätigung angezeigt werden. Es gibt noch einen echo-Befehl ausserhalb der if-Abfrage, der nur zur Sicherheit dabei ist.
    Das Problem bei dem ganzen ist, dass mitten im ersten echo, also der ausserhalb der if-Abfrage, irgendetwas passiert, was dazu führt, dass der ganze folgende (PHP-)Code als normales HTML interpretiert wird. Allerdings nur in Firefox. IE und Google Chrome zeigen nur den Button an, aber PHP wird bei beiden auch nicht wie erwartet interpretiert. Scheinbar liegt dies an einem <br />-Tag, den ich im echo verwendet habe, aber das ist jetzt das erste Mal, dass das Probleme bereitet.
    Ich weiß nicht wo nun der Fehler sein soll und hoffe hier jemanden zu finden, der sich mit PHP besser auskennt als ich.
    Hier ist noch der gesammte Code um den es bei meinem Problem geht:
    Code:
    <html>
    <title>
    </title>
    <head>
    <script language="Javascript">
    function aufrufen()
    {
    window.location = "test.php?check=true";
    }
    </script>
    </head>
    <body>
    <?php
    echo "Test<br />";
    $check = $_GET['check'];
    if ($check == 'true')
    {
    echo "Klappt<br />";
    }
    ?>
    <input type="button" onClick="aufrufen()" value="Klicken bitte" name="test">
    </body>
    </html>

  • #2
    Hallo und willkommen im Forum,

    PHP wird nur serverseitig interpretiert und niemals vom Browser. Der erhält bereits den generierten Quelltext, der auf dem Server mit PHP erzeugt wurde.

    window.location kann man nicht modifizieren, du meinst bestimmt window.location.href.

    Korrektur: window.location zu modifizieren geht ja doch, komisch… Dann hab ich nichts gesagt.

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 16.06.2010, 02:52.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Vielen Dank für die schnelle Antwort. Hab eigentlich gar nicht mehr damit gerechnet vor Sonnenaufgang eine Antwort zu finden.

      Ich hab jetzt zur Sicherheit das Skript nochmal so geändert, dass Javascript gar nicht mehr nötig ist (falls es jetzt an window.location liegt):

      Code:
      <html>
      <title>
      </title>
      <head>
      </head>
      <body>
      <?php
      echo "Test<br />";
      $check = $_GET['check'];
      if ($check == 'true')
      {
      echo "Klappt<br />";
      }
      ?>
      <form action="test.php" method="GET">
      <input type="hidden" value="true" name="check">
      <input type="submit" value="Klicken bitte" name="test">
      </form>
      </body>
      </html>
      Leider hat das auch nicht geholfen. Eigentlich habe ich erst vor kurzem eine andere Seite gebastelt, die nach genau demselben Prinzip arbeitet, nur eben mit Erfolg. Angezeigt wird immer noch:

      Code:
      "; $check = $_GET['check']; if ($check == 'true') { echo "Klappt
      "; } ?>
      <!-- Hier erscheint dann der Button wie erwartet -->
      Was muss ich nun machen, damit es klappt?

      Kommentar


      • #4
        Was steht denn in der Adressleiste des Browsers, wenn du dir das ansiehst?


        Zitat von Triyubi Beitrag anzeigen
        Hab eigentlich gar nicht mehr damit gerechnet vor Sonnenaufgang eine Antwort zu finden.
        Rate mal, wie ich zu dem Nickname kam…
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          In der Adressleiste des Browsers steht (nach Anklicken des Buttons):
          file:///C:/xampp/htdocs/phpdateien/test.php?check=true&test=Klicken+bitte

          Zitat von AmicaNoctis
          Rate mal, wie ich zu dem Nickname kam…
          Mmh, jetzt wo du es sagst, macht sich mein nie gelerntes Latein bemerkbar^^

          Kommentar


          • #6
            Da sollte http://localhost/… stehen, dann klappt's auch. Du lässt den Browser momentan nur über's Dateisystem arbeiten, er muss aber über deinen Server zugreifen, damit der PHP-Code verarbeitet wird.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Oha, das verwundert mich aber, dass ich sowas Wichtiges vergessen konnte.

              Auf jeden Fall vielen Dank für die Hilfe. Das Problem ist gelöst und alles funktioniert so wie es soll.

              Kommentar


              • #8
                Zitat von Triyubi Beitrag anzeigen
                Oha, das verwundert mich aber, dass ich sowas Wichtiges vergessen konnte.
                Nicht böse gemeint, aber das ist einer der typischsten Anfängerfehler.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar

                Lädt...
                X