Mailinglisten-Archive |
>Alles, was vor dem <? steht, wird als Html-Code interpretiert.
>Wenn du vor dem <? ein Leerzeichen oder eine Leerzeile hast,
>wird die zum Browser geschickt, bevor er dann irgendwann merkt,
>daß da noch ein Header kommen soll. Dann gehts schief.
>
>Wenn du mit Cookie / Headern rummachst, sollten die beiden
>allerersten Zeichen in deiner Seite <? sein. Ohne Leerzeichen,
>ohne Leerzeilen, ohne Tabs usw usw.
du kannst ja überprüfen ob du noch headerzeilen schicken kannst, mit
der funktion headers_sent()
if(!headers_sent())
print "Cookies können gesetzt werden.";
else
print "Cookies können nicht gesetzt werden.";
wenn du php4 einsetzt hasst du ausserdem die möglichkeit das "output
buffering" zu aktivieren und kannst dann, headerzeilen nachschicken.
ouputbuffering kann in der php.ini an bzw abgestellt werden, oder direkt
im script, dann allerdings bevor du den header sendest mit ob_start():
<?
ob_start();
?>
blablalba
setcookie("foo","string",time()+60,"/");
// ob_end_flush();
?>
wen du weisst das du dann keine headerzeilen mehr sendest solltest du
ob_end_flush() hinzufügen
gruss
daniel
--
/ Daniel Beulshausen
Mail: abe_(at)_flaemingnet.de
php::bar PHP Wiki - Listenarchive