Tipps & Tricks
Fehlerbehebung
Es gibt in PHP zwei goldene Regeln: Erstens kommt es anders und zweitens als man denkt. Fehler sind schneller in einem
Quellcode als man sich vorstellen kann. Da PHP jedoch recht fortschrittlich ist, macht es keinen weiteren Schritt bis nicht
der Fehler behoben ist. Jedoch ist es zumindest so freundlich, den Fehler anzugeben. Eine beliebte Zeile wäre z.B.:
Parse error: parse error, expecting `','' or `';'' in /homepage/htdocs/ordner/index.php on line 12
Dies stellt mehr oder weniger eine Standardfehlermeldung dar: PHP hat bemerkt, dass in Zeile 12 bzw. 11 ein Semikolon
(;) fehlt. Ein solch fataler Fehler bleibt natürlich nicht ungestraft und wird mit der o.g. Fehlermeldung belohnt.
Diese Meldung kommt in ähnlicher Form, wenn z.B. eine geschwungene Klammer ("{" bzw. "}") zuviel
oder zuwenig eingegeben wurde. Auch hier wird wieder die Zeilenangabe gemacht.
Wenn eine Funktion nicht vorher definiert wurde, gibt das auch einen Fehler, der etwa so aussieht:
Fatal error: Call to undefinied function: test() in /homepage/htdocs/ordner/index.php on line 173
Hier wurde die Funktion test() nicht vordefiniert, aber dennoch verwendet. Dies gilt als fataler Fehler.
Ein extrem gern gemachter Fehler ist HTML-Code vor einen Cookie zu schreiben. Das geht auf gar keinen Fall. PHP-Code darf
davor gesetzt werden, z.B. eine if-Abfrage. Jedoch normaler Text geht nicht.
Benutzerdaten
Eine beliebte Art der Statistik ist das Herausfinden von IP-Adressen, Browsern, usw. Es gibt in PHP vordefinierte Variablen,
die diese Informationen anzeigen können. Hier die Übersicht:
$HTTP_USER_AGENT | Angabe über den vom Client benutzten Browser |
$REQUEST_METHOD | Art der Anfrage (GET oder POST) |
$REMOTE_ADDR | IP-Adresse des Clients |
$QUERY_STRING | Bei GET-Anfragen werden die an die URL angehängten Daten in dieser Variablen gespeichert. Du findest hier alles, was nach dem ? an die URL angehängt wird. Ist die aufgerufene Adresse http://9a-world.i-networx.de/index.php?t=start&design=1, steht in $QUERY_STRING der Wert t=start&design=1. In diesem Fall ist aber auch $t der Wert start und $design der Wert 1 gespeichert. |
$REQUEST_URI | Die gesamte Anfrage inkl. $QUERY_STRING, z.B. http://9a-world.i-networx.de/index.php?t=start&design=1 |
$HTTP_REFERER | Adresse der Seite, von der die Seite aufgerufen wurde. Auf welcher seite wurde ein Hyperlink angeklickt, um auf diese Seite zu kommen? Leider wird dieser Wert nicht von allen Browsern gesetzt. |