10.14 Den Fehler »headers already sent« vermeiden

Problem

Sie versuchen, mit header() einen HTTP-Header oder mit setcookie() ein Cookie zu senden, aber PHP meldet den Fehler »headers already sent«.

Lösung

Dieser Fehler tritt auf, wenn Sie Ausgaben senden, die keine Header sind, und danach header() oder setcookie() aufrufen.

Schreiben Sie Ihren Code so um, dass alle Ausgaben erst nach dem Senden der Header vorgenommen werden:

// Korrekt
setcookie("name", $name);
print "Hallo $name!";

// Falsch
print "Hallo $name!";
setcookie("name", $name);

// Korrekt
<?php setcookie("name",$name); ?>
<html><title>Hallo</title>

Diskussion

Eine HTTP-Nachricht besteht aus einem Header und einem Body, die in dieser Reihenfolge an den Client gesendet werden. Sobald Sie mit ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.