Avatar billede lone_a_p Praktikant
27. februar 2004 - 17:47 Der er 4 kommentarer og
1 løsning

Mister session når jeg bruger header-funktion

Hej Eksperter,

Jeg bruger sessions, og det ser ud til at jeg har et problem med php-funktionen header("location: file.php"), fordi så ser det ud til at sessionen tabes/nulstilles

Dette står i min webhotels URL:
http://www.xxx.dk/xxx/produktliste.php?PHPSESSID=fe848e01ffab2a4bb0ac155703ef0616

Hvorimod der i mit eget test-miljø vises:
http://localhost/xxx/produktliste.php

Det ser ud til at jeg taber alle session-variable på webhotellet, når jeg bruger funktionen: header("location: file.php"); Hvorfor sker dette? Og hvordan kan jeg gøre så sessionvariablen beholdes?

Webhotel: PHP Version 4.3.4 - dog må det være noget med en indstilling. Hvorfor tager den sessionid med i URL?

Mvh Lone
Avatar billede jakoba Nybegynder
27. februar 2004 - 17:55 #1
?PHESSID=fe848e01ffab2a4bb0ac155703ef0616
bliver tilføjet for at huske sessionid fra den ene side til den næste. Det skal du så også gøre i din redirect:
header("location: file.php?PHPSESSID=".session_id());

funktionen session_id() henter lige den klients session id
    http://dk.php.net/manual/en/function.session-id.php

mvh JakobA
Avatar billede jakoba Nybegynder
27. februar 2004 - 17:58 #2
PS: normalt bliver det klistret på url værdien automatisk men i header() er det jo blot en string parameter, computeren kan ikke genkende det som  en urlværdi.
Avatar billede lone_a_p Praktikant
27. februar 2004 - 18:05 #3
men hvorfor virker det så på nogle servere?

man behøver ikke altid sende sessionid med - er det en indstilling, eller?

...
i øvrigt - vil du ikke lige smide et svar :)
Avatar billede jakoba Nybegynder
27. februar 2004 - 18:13 #4
Det er noget med at php selv hitter ud af om den kan få lov til at lave en cookie i browseren. Hvis den kan lægger den sessionid der og behøver så ikke senden den frem og tilbage hele tiden.

(tror jeg nok. ikke alt for sikker)

mvh JakobA
Avatar billede lone_a_p Praktikant
27. februar 2004 - 22:48 #5
tak for dit svar - det virkede!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester