Warning: Cannot modify header information – headers already sent by XYZ

Jeder, der mit PHP entwickelt, kennt sie: Die Meldung ist fast schon Alltag in jedem Forum!
Ich spreche von

Warning: Cannot modify header information – headers already sent by (output started at /irgendwo/ein/skript.php:1) in /irgendwo/blabla.php on Line 999

Dabei sagt die Meldung doch schon alles aus! Jeder, der auch nur einen Hauch einer Ahnung von Englisch hat, muss diese Fehlermeldung verstehen… Zumindest denkt man so.
Trotzdem findet Google bei der Suche nach „Warning: Cannot modify header information“ ungefähr 632.000 Treffer. (Stand 19.5.2008)

Ich hoffe, ich kann mit diesem Artikel wenigstens ein bisschen Klarheit in die Sache bringen.

Wie kommt es zu dieser Meldung?
Diese Fehlermeldung tritt immer auf, wenn vor einem Befehl, der Header sendet, eine Ausgabe stattfindet!
Dazu gehören auch Leerzeichen und die BOM (Byte Order Mark).

Header-Befehle sind unter Anderem:

  • header():
    • header(„Location: irgendwohin“);
    • header(„Pragma ….“)
    • usw…
  • session_start()
  • session_regenerate_id()
  • setcookie()
  • usw…

Ich denke, das sind die Befehle, die am häufigsten diese Ausgabe verursachen!

Falsch

< ?php
header("Location: http://meineseite.de");
?>

(Man beachte die Leerzeile ganz oben)

Falsch

< html >
 < title >
  Das geht so nicht!
 < /title >
< ?php
header("Location: http://meineseite.de");
?>
< /html >

(Man beachte die HTML-Struktur)

Richtig

< ?php
header("Location: http://meineseite.de");
?>

(hier kommt vor dem Header() nichts!)

Ich hoffe, euch geholfen zu haben…
Wenn mal wieder so eine Frage in einem Forum auftaucht, könnt ihr ja diesen Artikel verlinken 😉

Das EVA-Prinzip

Wenn man sich immer streng an EVA hält, sollte sowas sowieso nicht vorkommen.

Andere PHP-Fehlermeldungen
Häufige PHP-Fehlermeldungen und deren Behebung

1 Star2 Stars3 Stars4 Stars5 Stars (Wurde noch nicht bewertet)
Loading...


12 Kommentare zu “Warning: Cannot modify header information – headers already sent by XYZ”

  1. […] darf vor dem Header keine Ausgabe erfolgen. Wenn dies doch geschieht, bekommt man die Meldung Warning: Cannot modify header information – headers already sent by XYZ , weil die Byte Order Mark ja vor dem öffnenden PHP-Tag […]

  2. […] wohl häufigste und am meisten in Foren gepostete Fehlermeldung ist die berühmte “Warning: Cannot modify header information – headers already sent by”, die erscheint, wenn man vor dem Senden von Headern (z.B. Cookies) eine Ausgabe […]

  3. […] am meisten gelesene Beitrag in meinem Blog ist Warning: Cannot modify header information – headers already sent by XYZ mit 276 Aufrufen. Direkt danach folgen die Artikel Zwangsupdate von ICQ 5.1 auf ICQ 6 (252) und ICQ […]

  4. […] Warning: Cannot modify header information – headers already sent by XYZ (351) […]

  5. […] Warning: Cannot modify header information – headers already sent by XYZ (377) […]

  6. […] Wenn man eine Nachricht an den Browser senden will, verwendet man das Response-Objekt. Dieses Objekt ist in der Lage, den HTTP-Status der Antwort und die Header zu verändern. Der größte Vorteil dieses Patterns ist, dass man Header ÜBERALL im Code senden kann. Denn das Objekt sorgt dafür, dass kein Content vor den Headern abgeschickt wird. So vermeidet man den allseits bekannten “Headers already sent”-Fehler. […]

  7. Öhm… du nutzt 2mal das Beispiel

    dass das nicht richtig ist, hast du ja selber geschrieben…
    Wieso nutzt du das dann aber als letztes Beispiel auch???

  8. sorry, welches beispiel meinst du?
    kann dir gerade nicht folgen

  9. […] Warning: Cannot modify header information – headers already sent by XYZ (840) […]

  10. […] mysql blätterfunktionkgv c-programmbeste lieder armin van buurenyoutube technoeinladungWarning: Cannot modify header information – headers already sent by ?schülervz einladungschuelervz cfrontcontroller phpalfahosting spamfilter Warning: Cannot modify […]

  11. Thanks

  12. kein problem!

Hinterlasse einen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

»Informationen zum Artikel

Autor: Simon
Datum: 19.05.2008
Zeit: 19:16 Uhr
Kategorien: Fehlermeldungen
Gelesen: 13959x heute: 2x

Kommentare: RSS 2.0.
Diesen Artikel kommentieren oder einen Trackback senden.

»Mehr zum Thema erfahren

Schlagwörter: , ,

»Meta