PHP Handbuch
Zurück |  | Weiter

# headers_sent

(PHP 3>= 3.0.8, PHP 4 , PHP 5)

headers_sent -- Prüft, ob oder wo die Header bereits gesendet wurden

## Beschreibung

bool headers_sent ( [string &file [, int &line]] )

headers_sent() gibt `TRUE` zurück, wenn die HTTP-Header bereits gesendet wurden, ansonsten wird `FALSE` zurückgegeben. Sind die optionalen Parameter file und line angegeben, werden der Dateiname und die Zeilennummer von wo die Ausgabe begann, in den Variablen file und line gespeichert.

Sobald der Header-Block gesendet wurde, können Sie keine weiteren Header-Zeilen mit der Funktion header() hinzufügen. Mittels dieser Funktion können Sie aber zumindest Fehlermeldungen bezüglich der HTTP Header vermeiden. Eine andere Möglichkeit ist die Verwendung von Output Buffering.

> Neue Parameter: Die optionalen Parameter file und line wurden in PHP 4.3.0 eingeführt.

Beispiel 1. Beispiele für headers_sent()
`<?php // Wenn keine Header gesendet wurden, sende einen if (!headers_sent()) { header ('Location: http://www.example.com/'); exit; } // Ein Beispiel für den Einsatz der seit PHP 4.3.0 verfügbaren optionalen // Parameter file und line. Beachten Sie, dass $filename und $linenum für // einen späteren Einsatz übergeben werden. // Weisen Sie ihnen davor keine Werte zu. if (!headers_sent($filename, $linenum)) { header ('Location: http://www.example.com/'); exit; // Wahrscheinlich wollen Sie hier eine Fehlermeldung auslösen } else { print "Headers already sent in $filename on line $linenum\n" . "Cannot redirect, for now please click this <a " . "href=\"http://www.example.com\">link</a> instead\n"; exit; } ?>`

Siehe auch ob_start(), trigger_error() und header() für detailliertere Informationen zu diesem Thema.

Zurück | Zum Anfang | Weiter
headers_list | Nach oben | setcookie