PHP Tutorial Part3: Error-Meldungen

Wie bereits erwähnt sorgt schon das Vergessen eines einzigen Zeichens dafür, dass der Nutzer statt einer Webseite nur eine Fehlermeldung im Browser angezeigt bekommt. Das kleine und unscheinbare Semikolon ist geradezu prädestiniert dafür übersehen oder beim Skripten vergessen zu werden. Aber auch andere Fehler schleichen sich gerne ein. Zum Glück bieten die PHP-Error-Anzeigen genaue Informationen wo der Fehler zu finden ist.



Um uns eine solche Fehlermeldung einmal genauer anzuschauen, lassen wir bei unserem ersten eigenen PHP-Skript einfach mal das Semikolon weg:

<?php echo “Hallo, ich bin dein erstes PHP-Skript!” ?>

Die Ausgabe im Browser sieht wie folgt aus:

Parse error: parse error, unexpected T_STRING, expecting ‘,’ or ‘;’ in C:\xampp\xampp\htdocs\erstes-skript.php on line 1 

Das Fachchinesisch brauchen wir gar nicht genau unter die Lupe zu nehmen. Interessant und ausreichend ist zunächst die Quellenangabe wo der Fehler aufgetreten ist. In diesem Fall in unserer php-Datei “erstes.skript.php” in der ersten Textzeile. Beim durchlesen findet man so schnell das fehlende Semikolon. Sollte eine Webseite auf mehrere php-Dateien zurückgreifen, wird natürlich die jeweils fehlerhafte Datei angegeben, mit der genauen Zeilen-Angabe. Die in dem ersten Teil dieses Tutorials genannten Programme nummerieren die Zeilen automatisch mit. Dadurch ist eine Fehlerfindung wirklich kinderleicht, selbst bei großen Skripten.

Eine weitere Fehlerquelle sind Zeichen die in der php-Sprache eine eigene Funktion haben. Zum Beispiel das  Anführungszeichen. Dieses einfach in den Text zu schreiben ist deshalb problematisch, weil der Server es als Teil des Skriptes interpretiert, und nicht als “bedeutungsloses” Textzeichen. In unserem kleinen echo Befehl setzten wir nun ein beliebiges Wort in Anführungszeichen:

<?php echo “Hallo, ich bin “dein” erstes PHP-Skript!“; ?>

So erhalten wir beim Aufrufen der Webseite die selbe Fehlermeldung wie zuvor. Was ist hier passiert? Für den Server steht der auszuwerfende Text zwischen den Anführungszeichen. Beginnend mit dem ersten, direkt nach echo, und endend mit dem zweiten. Das bedeutet, dass alle Zeichen nach dem zweiten Anführungszeichen nicht mehr ausgewertet werden können, und zum Abbruch des Skripts führen. Um Zeichen die Teil der php-Sprache sind zu “entwerten” stellen wir ein Backslash vornan. Dann weiß der Server, dass das folgende Zeichen nicht zu interpretieren ist.

<?php echo “Hallo, ich bin \“dein\” erstes PHP-Skript!“; ?>

Nun erhalten wir die korrekte Anzeige:

Hallo, ich bin “dein” erstes PHP-Skript!

Achtung: Wenn wir im Text ein Backslash ausgeben wollen, dann müssen wir auch dieses entwerten. Und dies geschieht wieder mit einem Backslash. Um ein \ anzuzeigen, also immer \ schreiben.

comments powered by Disqus