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
Martin A. Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 Whitespace/linjeskift foran <?php tipper jeg. Lenke til kommentar
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
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
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
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
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
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
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
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
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
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
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
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å