session levetid

Tags:    php

<< < 12 > >>
hej,
jeg har et lille problem med mine sessions. De udløber efter et stykke tid(aner ikke hvor lang tid det er). Men jeg ville gerne se at mine sessions lever indtil browseren lukkes, eller session'en dræbes.
Jeg har læst lidt om det på php.net, men såvidt jeg kan se, kan det kun ændres i php.ini filen. Men da jeg er hosted hos web10.dk, har jeg ikke adgang til den fil.
Er der nogen andre måder?



11 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
session's levetid går først ud når browseren lukkes. eller når der klikke på et link som henfører til lunkning af den i gang satte session




Prøv:

ini_set('session.gc_maxlifetime', 60*60*24); //24 timer
ini_set('session.save_path', '/en/mappe/i/dit/home/dir/');


Det er nok nemmest at finde dit home dir ved at lave et script med en php-fejl, og kopiere stien fra fejlbeskeden.

Det skulle gerne virke med mindre dit webhotel har blokeret adgang til ini_set. I det tilfælde er der ingen vej uden om, så er du nødt til at lave din egen lille kopi af php's session script, som de andre foreslår, men det er heller ikke så svært endda.



Prøv

Fold kodeboks ind/udKode 


ob_start() fikser det med dine headers



du kunne evt. bruge cookies...
hvis du ikke angiver nogen tid ved dem, slettes de automatisk ved lukning af browseren - så vidt jeg ved. Du kan dog kun unsette dem ved at sette dem, men det gør vist ikke så meget hvis du sætter levetiden til 1 sekund og værdien af cookien sættes til en værdi som du registrerer som en logget-ud værdi.

eksempel:
Fold kodeboks ind/udKode 


Det ville være mit pt. bedste bud



er der intet alternativ til sessions? jeg vil nemlig gerne undgå cookies, hvis muligt:)



så kan jeg bare ikke forstå...
Jeg har en side der tjekker hvad en session indeholder og viser noget indhold der efter. Men når der er gået et stykke tid uden jeg har været aktiv på siden og så skifter side, så viser den at sessionen er ikke findes...



i toppen af min fil, satte jeg bare det her ind:
Fold kodeboks ind/udKode 


Bare sådan, eller hvad? Der kommer ingen fejlbeskeder så jeg går ud fra det virker. Eller hvad?:P



Indlæg senest redigeret d. 08.10.2006 11:22 af Bruger #10320
Det skal FØR session_start, da det er denne funktion, der skal bruge indstillingerne. Brug desuden en undermappe, og ikke din home-mappe, da alle dine session-filer ellers vil komme til at ligge blandet rundt med dine egne filer. Du skal huske selv at oprette den mappe du vil bruge, og du kan teste om det virker ved at se, om der bliver oprettet nogen filer i mappen med dine sessionsdata.



yeah, men hvis jeg sætter det før session_start() så siger den headers allerede er sendt og den ikke kan:)



ini_set sender ikke headers, med mindre den udskriver en fejlbesked. Står der nogen fejlbesked før den med at headers er sendt? (Se efter i koden)



<< < 12 > >>
t