headers_sent

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

Beschreibung

boolean 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( ) 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 .