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