KiLLerZ Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 (endret) <?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 31. oktober 2007 av KiLLerZ Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/
Martin A. Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 Whitespace/linjeskift foran <?php tipper jeg. Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9721056
KiLLerZ Skrevet 17. oktober 2007 Forfatter Del Skrevet 17. oktober 2007 Nei. Har allerede sjekket at det ikke er whitespace forran <?php. Andre muligheter? Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9721107
Gjest Slettet+142 Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 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 https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9721155
KiLLerZ Skrevet 17. oktober 2007 Forfatter Del Skrevet 17. oktober 2007 mariyo: Kunne du sett om du finner igjen den posten? Da hadde du vært en engel. Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9721231
Runar0 Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 Vist du lagrer i UTF-8 så må du passe på at BOM (bit order mark?) er skrudd av. Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9721414
BigJackW Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 Kan hende det står noe her: http://norskwebforum.no/viewtopic.php?t=34495 Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9721436
Gjest Slettet+142 Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 mariyo: Kunne du sett om du finner igjen den posten? Da hadde du vært en engel. Er det nermeste jeg kommer nå. Men det var en tråd hvor det måtte bli forklart i detalj hvordan man lagret utf-8 uten BOM. Hvilken editor bruker du? Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9721772
Crowly Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 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 https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9723511
phpp Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 (endret) 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 18. oktober 2007 av phpp Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9726789
Yaricks Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 Husk at headers må stå før noen som helst HTML kode! Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9728150
phpp Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 Ikke ved bruk av OB_START! Det som gjør det så greit er at du kan skrive html og bruke "header location" uansett hvor du vil om du angrer halveis nede på siden Spørs hvordan du koder det opp. Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9728157
Martin A. Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 Bruk av ob_start() vil på ingen måte _løse_ problemet, men heller å utsette det. ob_start _kan_ brukes til dette, men prøv heller å finn hovedproblemet (som helt åpenbart er BOM) Lenke til kommentar https://www.diskusjon.no/topic/848048-headers-already-sent-l%C3%B8st/#findComment-9730373
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå