20. november 2004 - 14:39Der er
14 kommentarer og 1 løsning
Header fejl: cannot modify header information
Hej jeg får følgende fejl når jeg kører mit script. Er der nogen der kan gennemskue hvorfor?
Warning: Cannot modify header information - headers already sent by (output started at c:\programmer\wamp\www\ladeintra\logind\tjek_logind.php:11) in c:\programmer\wamp\www\ladeintra\elevudtalelser\ret.skriv.php on line 402
i min ret.skriv.php er de de interessante linier :
//Hvis ikke sessions er sat, bliver man sendt til logind.php if(!isset($_SESSION["brugernavn"], $_SESSION["admin"])) { header("Location:logind.php"); exit; } ?>
Hvis det er skulle du blande lidt javascript ind i det
//Hvis ikke sessions er sat, bliver man sendt til logind.php if(!isset($_SESSION["brugernavn"], $_SESSION["admin"])) { echo "<script language=\"javascript\">location.href='logind.php';</script>"; exit; }
Nej if sætningen når ikke at kører når du vidersender.
MEN IGEN FÅR DU FEJLEN CANT MODIFY HEADER....
Du må ikke "udskrive" noget før du bruger header...
i dit script deroppe udskriver du noget her: include("../logind/tjek_logind.php");
Header skal før alt det man kan se på en side når den åbnes...
Derfor vil jeg anbefale at lave et javascript i stedet... echo "<script language=\"javascript\">location.href='ret.php?done=2';</script>";
Synes godt om
Slettet bruger
25. februar 2005 - 17:33#9
Jo, scriptet fortsætter når man sætter en header. Så if-sætningen bliver kørt.
Det er kun når man laver en eller anden form for udskrift, at headers bliver sendt. Og når de først er sendt, er det for sent at lave om på dem.
Det kan godt være lidt forskelligt om serveren er sat op til at afbryde et PHP-script, når browseren stopper med at lytte (som den vil gøre, hvis den modtager en location-header), men da headers ikke bliver sendt med det samme, vil den umiddelbart efterfølgende kode stadig blive udført.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.