Gå til innhold

Cookie og den vanlnge feilmeldingen


Anbefalte innlegg

Har laget et innloggingsscripts som jeg nå vil ha "permanent innlogging" på.

Har følgende kode:

if(passordet ikke er riktig) {
tulling
} else {

 $_SESSION['tralala'] = $result[en_id];
 $value = $result[en_id];
 setcookie("hei", $value);
 }

 

Skal naturligvis ha et valg om man vil ha permanent innlogging eller ikke, men det er ikke det som er saken. Problemet er at jeg får den velkjente cannot send header bla bla bla. Ja, jeg VET at jeg skal ha setcookie øverst på siden, men den kan jo ikk komme utenfor løkka? Skal jo bare settes dersom det er riktig pssord som er skrevet inn...

Det går jo helt fin å sette session, så burde jeg vil kunne sette cookie også?

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132

Skal ikke ha noe å si om set_Cookie() kommer først i if blokken din.

som regel får du den meldingen om du har skrevet noe til skjermen før du prøver å sette en cookie..

 

se om du har printet noe html eller har noen print() eller echo'er som skriver noe til skjermen før du prøver å sette cookien..

 

burde virke slik det står der.

Lenke til kommentar

Cookies blir direkte satt i nettleseren gjennom meldingshodene, mens sessionene blir lagret lokalt på serveren hvor brukeren blir gjenkjent vha en session-id. Med andre ord trenger man ikke pushe informasjon til brukeren hver gang man forandrer noe i session-variablene, men trenger kun å sende en unik id til brukeren en gang. Dette gjelder ikke for kaker fordi informasjonen blir direkte satt inn i nettleseren. Scriptet vil derfor prøve å sende meldingshoder etter at noe er outputet, noe som vil retunerer i en feilmelding.

 

En løsning på problemet kan være å slå på output-buffering, noe som gjør at ingenting blir skrevet ut før du ber om det, evt ved slutten av scriptet om bufferen ikke er tømt. Da vil du ikke få problemer med å sende meldingshoder til nettleseren da det kun er disse som blir sendt i første omgang, og ikke selve innholdet av siden.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...