Jetzt neu: Handgebundene Tagebücher und Notizhefte by Unkelbach Art Handgebundene Notizhefte

Gesundheitliche Gründe zwingen - und bringen(!) - mich zu Veränderungen, die so nie geplant waren: Statt mit Variablen, Schleifen und Abfragen, arbeite ich jetzt mit wundervollem Papier: hauchdünnes Transparentpapier, mattweißes Schreibpapier, rustikales Kraftpapier, flexibler, schwarzer Karton, feste Graupappe und viele mehr. Aus allen entstehen handgebundene Notizbücher, Tagebücher und Notizhefte, die schon beim Ansehen Freude machen - stellt euch mal vor, wie toll es ist, auch noch darin zu schreiben!

PHP für dich bleibt euch natürlich in seiner aktuellen Form erhalten und vielleicht sehen wir uns ja mal bei Unkelbach Art, auf Facebook oder Instagram oder ihr holt euch eines meiner Produkte. Es wäre mir eine große Freude!
Mehr dazu...

Fehlersuche

Parse error: syntax error, unexpected T_ECHO

Ein parse error in Verbindung mit einem sytnax error taucht in PHP immer dann auf, wenn wir fehlerhaften PHP-Code verwenden. Die simpelste Form wäre ein vergessenes Semikolon am Zeilenende. So wirft folgender Code mit einem in Zeile 2 fehlenden Semikolon also selbstverständlich einen Fehler:
  1. <?php
  2. echo "Ein einfacher Text"
  3. echo "Noch mehr Text";
  4. ?>
Die Fehlermeldung dazu lautet:
Parse error: syntax error, unexpected T_ECHO, expecting ';' in /www/error.php on line 3

Für den Anfänger ist zunächst vielleicht erstaunlich, dass der Fehler in Zeile 3 sein soll, wo wir ihn doch in Zeile 2 eingebaut haben. Das liegt an der Arbeitsweise von PHP, die dazu führt, dass der Fehler erst dann wirklich ein Fehler ist, wenn ein Befehl nicht ausführbar ist. In unserem Fall kann PHP die echo-Anweisung in Zeile 3 nicht mehr ausführen, da das Semikolon als Abschluss der Anweisung in Zeile 2 fehlt.

Mit der Fehlermeldung sagt uns PHP jetzt, dass ein unerwartetes T_ECHO aufgetreten ist. T_ECHO - was ist denn das?

PHP wandelt intern unseren Code in so genannte Token um. Diese Token verwendet es dann, um zu überprüfen, ob der vorhandene Code ausführbar ist, ist das nicht der Fall, benennt es den fehlerhaften Token - in unserem Fall eben T_ECHO, der nichts anderes aussagt, als dass der echo-Befehl an dieser Stelle von PHP nicht erwartet wurde und auch nicht ausgeführt werden kann.

Gleichzeitig teilt PHP uns auch mit, was es eigentlich erwarten würde, nämlich mit der Meldung expecting ';' - es möchte also ein Semikolon.

Mit diesen Informationen wissen wir jetzt eigentlich genug, um den Fehler zu finden. Uns ist bekannt, dass das echo in Zeile 3 nicht ausgeführt werden kann, weil PHP gerne ein Semikolon hätte. Da der Fehler erst dann auftritt, wenn der nachfolgende Befehl nicht ausführbar ist, muss das Semikolon also vor dem echo in Zeile 3 fehlen und da bleibt in unserem Fall jetzt nicht mehr viel an Möglichkeiten über: Es muss ans Ende von Zeile 2.
  1. <?php
  2. echo "Ein einfacher Text";
  3. echo "Noch mehr Text";
  4. ?>
Übrigens... es würde auch funktonieren, wenn wir tatsächlich exakt das tun würden, was uns PHP sagt und das Semikolon in Zeile 3 setzen würden :-)
  1. <?php
  2. echo "Ein einfacher Text"
  3. ;echo "Noch mehr Text";
  4. ?>
Auch das liefert funktionstüchtigen Code. Ich würde aber nicht empfehlen, sich eine solche Schreibweise anzugewöhnen. Sie ist doch sehr irritierend und kann leicht zu mehr Fehlern führen, als man eigentlich machen würde.

Autor: Claudia Unkelbach


Spenden via PayPal

=> Weiter
© 2001 - 2020 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen