Moin!
PS: Wie machen das eigentlich die PHP-Professionals mit der Fehlersuche. Ich gebe zum debuggen per echo-Befehl völlig chaotisch irgend welche Werte aus, nehme in Kauf, dass das ganze Script abnippelt und sehe mir dann die Sourcen über einen Browser an, der zumindest noch meine Debug-Meldung ausgegeben hat, bevor er sich verabschiedet. Gibt es da vernünftige Simulations- oder Debug-Umgebungen für PHP?
Es gibt PHP-Entwicklungsumgebungen, die wohl diverse nette Features bieten, das laufende bzw. angehaltene PHP-Skript inklusive seiner Variablen zu "bearbeiten".
Ich benutze sowas aber nicht, kann folglich auch keine Empfehlungen geben, ob das toll ist. Ich empfehle aber ganz unabhängig davon, dass du dir sämtliche Fehler inklusive der Notice-Meldungen (die sind eigentlich die wichtigsten, weil sie subtile Fehlerquellen aufdecken) anzeigen läßt: error_reporting(E_ALL) im Skript bzw. die passende Option in der php.ini setzen.
Damit die Fehlermeldungen die HTML- oder sonstige Skriptausgabe (PHP kann ja z.B. auch Bilder generieren) nicht stört, kann man sich die Fehler auch in eine Logdatei ausgeben lassen und die (zumindest unter Linux) problemlos während des Skriptaufrufs beobachten ("tail -f logfile" macht das unter Linux - Windows bietet sowas leider nicht standardmäßig an - und es ist ein Shellzugang für sowas erforderlich).
Und den Rest hast du im Prinzip schon richtig erkannt: Wenn irgendwas nicht so läuft, wie man es sich denkt, sollte man in der Tat irgendwelche Kontrollausgaben vornehmen und gucken, ob die denn den eigenen Erwartungen und Annahmen entsprechen, oder nicht. So gehen auch Profis vor - wobei die vielleicht besser wissen, was sie zu kontrollieren haben. Hierbei helfen insbesondere die Funktionen var_dump und print_r - die zeigen nicht nur den Variableninhalt an, sondern auch problemlos ganze Arrays, und sie zeigen den Variablentyp mit an.
Außerdem ganz wichtig: PHP-Fehlermeldungen geben immer Hinweise darauf, was genau falsch ist. Deshalb sollte man diese unbedingt lesen, ggf. übersetzen, wortwörtlich in Google suchen lassen (Anführungszeichen drumrum machen für Phrasensuche) und mit dem so gewonnenen Wissen zielgerichtet Gegenmaßnahmen ergreifen. Und keinesfalls "Hilfe, mein Skript geht nicht!" in irgendeinem Forum rufen, ohne die Fehlermeldung mit hinzuschreiben. :)
- Sven Rautenberg