Was ist ein Parse error?

...komplette Frage anzeigen

4 Antworten

Hi!

Wie meine Vorredner schon sagten ist dein Code in der Syntax (Grammatik, wenn du so willst) falsch aufgebaut.

Dein Code:

<?php } else { $host = htmlspecialchars($_SERVER["HTTP_POST"]); $uri = rtrim(dirname(htmlspecialchars(["PHP_SELF"])), "/\\\\"); $extra = "lol23.php"; header("Location:

"); } ?>

Sichtbare Fehler auf Anhieb:

- nach dem <?php kommen bei dir Bereichsklammern {} die dort nicht hingehören.

- dann hast du ein "else-Konstrukt" ohne if-Anweisung

-dirname gibt dir ein übergeordnetes Verzeichnis aus einem Pfad und hat nur ein Parameter (nämlich den Pfad) bei dir lautet der zweite "/\\\\"

-Header muss vor internen Aufrufen stehen und sendet normalerweise Header Informationen. Wenn du aber welche empfangen hast, verstehe ich den Sinn dessen nicht.

Ist zwar noch keine Antwort zur Funktionalität, da ich auch nicht genau weiß was du vor hast.

Aber damit kannst du schon mal dein Code ein wenig entwirren!

Liebe Grüße

Noha

Antwort bewerten Vielen Dank für Deine Bewertung

Das bedeutet, dass die Syntax nicht korrekt ist. Unter Syntax versteht man grob gesagt ein Regelsystem wie eine Sprache aufgebaut ist.

Die Meldung sagt dir, dass du eine geschweifte Klammer zu viel hast. Um eine Klammer zu schließen, musst du die Klammer auch irgendwo öffnen. Dein Code Snippet ist in diesem Fall zu wenig. 

Antwort bewerten Vielen Dank für Deine Bewertung

Die Fehlermeldung sagt dir doch wortwörtlich, was nicht stimmt, noch dazu sogar genau, wo: "Unerwartete Klammer in Zeile 15".

Antwort bewerten Vielen Dank für Deine Bewertung

Was das im Detail bedeutet wurde bereits gesagt, eine "Parse error" Meldung bedeutet genau das: Fahler beim Parsen. Der Parser ( https://de.wikipedia.org/wiki/Parser: "Ein Parser [ˈpɑːʁzɐ] (engl. to parse, „analysieren“, bzw. lateinisch pars, „Teil“; im Deutschen gelegentlich auch Zerteiler) ist ein Computerprogramm, das in der Informatik für die Zerlegung und Umwandlung einer beliebigen Eingabe in ein für die Weiterverarbeitung brauchbares Format zuständig is" ) war nicht in der Lage, seinen Job korrekt auszuführen. Wo es hapert wird ja angegeben, generell zu bedenken ist, dass der Parser nicht intelligent ist. Sprich er gibt manchmal wenig hilfreiche Fehlermeldungen zurück. Wenn z. B. irgendwo eine schließende Klammer } fehlt, dann weiß er nicht, wo sie semantisch gesehen fehlt. Er merkt nur irgendwann, dass er weniger schließende als öffnende Klammern gibt. Das kann aber weit hinter der Stelle sein, an der die Klammer eigentlich stehen müsste.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?