Gå til innhold

Headers already sent [LØST]


Anbefalte innlegg

<?php
if(isset($_POST['substyle']))
{
	$Style = $_POST['style'] . ".css";
	$time = (3600*24) * 365;
	setcookie("style", $_POST['style'], time()+$time);
}
else {

if(isset($_COOKIE['style']))
{
	$Style = $_COOKIE['style'] . ".css";
}

else {
	$Style = "style1.css";
}
}
?>

Når jeg prøver å kjøre dette scriptet så får jeg feilmeldingen

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\music\cookie.php:1) in C:\wamp\www\music\cookie.php on line 6

Hva kan feilen være?

Endret av KiLLerZ
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+142

har vært oppe tidligere dette, at det har kommet slik uten at det har vært whitespace foran.

Tror løsningen var noe med at da man lagret filen, måtte man velge vekk å legge ved noe format-greier eller noe slikt...

Lenke til kommentar

Du kan jo prøve å bruke output buffering.

 

Legg til ob_start; i begynnelsen av skriptet og ob_end_flush(); i slutten.

 

Forget having to send your cookies near the start of your page! Output buffering lets you "send" cookies at any point your script - although, of course, it just stores the cookies separately to the HTML data then sends them together at the end, in the correct order. The bulking together of data also provides quite a performance improvement – PHP literally hangs on to all data until you instruct it to send, at which point all data is sent in one chunk.
Lenke til kommentar

Heisann.

 

Vet ikke om noen har svart deg riktig. Men Cookies er headers.

 

Altså når du får headers allready sendt så har du allerede sendt noe UT fra webservern til clienten som ser på hjemmesiden. Å sette cookies skjer på clientens data. Når du gjør det så er headers allerede sendt.

 

Som en sa over her så kan du bruker "Output Buffering" for å "Vente" med å sende all output til scriptet er ferdig med å kjøre. Så om du skriver "ob_start();" i toppen av dokumentet så sender den ikke noe til clienten før scriptet er ferdig. Dette vil da også gjøre slik at headers blir løftet til toppen av scriptet.

 

Håper dette hjelper litt :)

 

Mer om: ob_start

 

 

Om dette hjalp deg, vennligst sett tittel på førstepost til [LØST] <tittel>

Endret av phpp
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...