dedlfix: formular-daten mit $_SESSION übertragen

Beitrag lesen

echo $begrüßung;

» Hast du die Anzeige der Fehlermeldungen komplett ausgeschaltet? Wenn nicht, hättest du eine altbekannte Meldung bekommen müssen, die dich darauf hinweist, das vor dem session_start keinerlei Ausgabe an den Client gesendet werden darf, was auch HTML-Code beinhaltet.
na gut, wenn ich dich richtig verstehe, dann sei der php-teil eben vor oder hinter das formular verschoben. ändern tut sich an dem problem selbst dann aber noch nichts.

Kontrolliere bitte die Einstellungen zum Anzeigen von Fehlern in der phpinfo()-Ausgabe. display_errors sollte eingeschaltet sein und das error_reporting am besten auf E_ALL.

Ein session_start() muss (ebenso wie header() oder setcookie()) vor jeglicher Ausgabe stehen. Alles außerhalb der <?php ?>-Bereiche ist ebenfalls Ausgabe. Dazu zählen auch Leerzeichen, die man nicht direkt sieht. Das session_start() muss demzufolge nicht nur vor dem Formular sondern vor allem HTML-Code stehen. Oder du verwendest Ausgabepufferung, die jedoch ebenfalls vor jeglicher Ausgabe aktiviert werden muss.

Und dann solltest du Fehlersuche mittels Kontrollausgaben durchführen. Vergleiche die Variableninhalte und die Ergebnise von Ausdrücken mit deinem Wunsch. Am genauesten var_dump() für Kontrollausgaben geeignet.

echo "$verabschiedung $name";