dedlfix: Nach dyn. erzeugtem Inhalt, keine HTML Ausgabe mehr

Beitrag lesen

echo $begrüßung;

aber was ist denn nun zum beipsiel hier falsch:

Wie lautet die Fehlerbeschreibung? Ohne die kann ich dir nur sagen, was mir beim Drüberschauen auffält.

$result=mysql_query("[...]") or die(mysql_error());
if(!$result) die("Die Datenbank konnte nicht abgefragt werden");

Dein Script stirbt ja schon in der ersten Zeile, wenn ein Fehler aufgetreten ist. Die Bedingung der zweite Zeile kann daher nie erfüllt werden, weil sie in dem Fall gar nicht mehr zur Ausführung kommt.

if(is_array($kindarray)) {
     foreach($kindarray[0] as $thread) { // Für jedes Posting der obersten Ebene...

Du kontrollierst, ob $kindarray ein Array ist, greifst dann aber ohne weiter zu kontrollieren auf das Element mit dem Schlüssel 0 zu. Bist du sicher, dass ein solcher Schlüssel existiert? Deine Datenbankabfrage hat ja nur die Schlüssel angelegt, die in der Datenbank standen.

Generell kann ich dir nur empfehlen, deine Debugging-Fähigkeiten zu verbessern. Vor allem durch Kontrollausgaben der beteiligten Variablen kommt man so manchem Fehler auf die Spur. Das kann ein einfaches echo  oder print sein, sowie bei Arrays ein print_r(). Noch besser, aber teilweise schlechter zu lesen als eine print_r()-Ausgabe, ist die Funktion var_dump(), denn die gibt auch gleich den aktuellen Typ der Variable mit aus und nimmt, im Gegensatz zu echo, keine Typkonvertierung bei der Ausgabe vor.
Hilfreich ist auch, das Einschalten der Notiz-Meldungen, denn die sind standardmäßig ausgeschaltet, bieten aber wertvolle Hinweise bei Zugriffen auf nicht vorhandene Variablen und Array-Schlüssel. Damit kommt man Tipp- und Initialisierungsfehlern auf die Spur. Setze zum Entwickeln immer das error_reporting auf E_ALL. Im laufenden Betrieb hingegen sollte es ausgeschaltet sein, weil die Besucher die Fehlermeldungen nicht sehen sollen.

echo "$verabschiedung $name";