| 

.NET C# Java Javascript Exception

0

Wer die Funktion header() verwendet, stößt oft auf die Fehlermeldung Warning: Cannot add header information – headers already sent . Diese Meldung kann mehrere Ursachen haben.

Allen gemeinsam ist: Die Funktion header() kann nur so lange Header-Funktionen an den Client schicken, bis die ersten Seiteninhalte kommen. Sprich: Sobald die Seite auch nur ein Leerzeichen ausgibt, bevor die Funktion header() aktiv wird, erscheint die Warnung.

Steht vor dem PHP-Anfangs-Tag <?PHP zum Beispiel ein Zeilenumbruch oder ein Leerzeichen, so schickt der Server bereits einen kompletten Header plus dieses Zeichen an den Client. Versucht danach die Funktion header() einen zweiten Header zu schicken, erscheint die Fehlermeldung headers already sent .

Ein weiterer typischer Grund ist ein Fehler im PHP-Code vor header() . Dieser Fehler erzeugt seinerseits eine Warn- oder Fehlermeldung. Ist PHP so eingestellt, dass Fehler im Client angezeigt werden, so schickt PHP diese Meldung. Und auch damit geht schon einmal ein kompletter Header an den Client. Die eigentliche header() -Funktion hat das Nachsehen. Dieses Problem löst sich aber, sobald Sie die erste Warnung beseitigt haben.

Besonders tückisch ist die dritte Variante. Falls Sie versehentlich eine Datei im Unicode-Format speichern, steht am Anfang dieser Datei die Bytefolge FF FE . PHP interpretiert das als Ausgabe und produziert die Warnung.

Und noch eine letzte Fehlerquelle: Falls Sie von Ihrem Programm aus Cookies speichern, lösen Sie ebenfalls Header-Befehle aus. Die Warnung kann also auch nach dem Aufruf der Funktion setcookie() erscheinen.

web php
Schreibe einen Kommentar:
Themen:
php web
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail