webForumDet fria alternativet

Warning: Cannot modify header information

PHPur PHP

6 svar · 310 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.

265 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
131 ms — hämta forumlista (db)
131 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)