webForumDet fria alternativet

Warning: Cannot modify header information

PHP

6 svar · 312 visningar · startad av mr.mainline

Medlem sedan feb. 2003777 inlägg
Frågan#1

Vill någon förklara detta fel mess för mig
"Warning: Cannot modify header information - headers already sent by (output started at /customers/ridgebowshankook.com/ridgebowshankook.com/httpd.www/login.php:10) in /customers/ridgebowshankook.com/ridgebowshankook.com/httpd.www/login.php on line 14"

det är ett inloggnings skript och rad 14 ser ut så här

header("Location: $efter");
Medlem sedan jan. 2001191 inlägg
#2

Du får inte skriva ut något till browser innan du skickar en header("location: ...");

Om du includar ditt script får scriptet du includar det ifrån inte heller ha skrivit ut något innan du kör det där scriptet.

Medlem sedan feb. 2003777 inlägg
#3

ok,hur kommer jag runt det då??? jag har en "include" i skriptet.

Medlem sedan juni 2002346 inlägg
#4

testa ob_start(); i början av dokumentet och ob_end_flush(); i slutet.

Medlem sedan feb. 2003777 inlägg
#5

nix det funkade inte,andra förslag??

Medlem sedan dec. 1999757 inlägg
#6

Det finns inga andra förslag än de 2 du har fått och båda fungerar om du gjort rätt.

Manualen om ob_start skrev:

This function will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer.

Med andra ord så kan man skicka en header från vilken kodrad som helst. Det får samma effekt som om man i php.ini anger output_buffering = On.

Medlem sedan feb. 2003777 inlägg
#7

Jag hade gjort fel med "ob_start();" "ob_end_flush();" så nu funkar det,tack.

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)