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.
webphp
Registriere dich
Wenn Du deinen Benutzernamen in Besitz nehmen möchtest, solltest Du dich registrieren:
Benutzername
Passwort
Passwort wiederholen
E-Mail
PHP-Journal
Das PHP-Journal vermittelt praxisrelevantes Wissen für Entwickler von Web-Applikationen, für Content- und Online-Manager, Agenturen und Webmaster. Neben Praxisartikeln zu Programmiertechniken und Schnittstellen werden im PHP-Journal auch angrenzende Themen wie modernes Webdesign mit AJAX, Aufbau und Betrieb von Web 2.0-Communities und erfolgreiches Online-Marketing zum Beispiel über Suchmaschine-Optimierung behandelt.