Hallo,
Ik ben bezig met een website waar gebruik wordt gemaakt van een gebruikerssysteem. Je kan inloggen via een pagina die een gebruikersobject opslaat in een sessie ($_SESSION).
Nu handel ik de sessies af door gebruik te maken van: session_set_save_handler. Ik heb de verschillende functies geimplementeerd. Mijn systeem maakt gebruik van een mysql database om de sessies op te slaan.
Echter het probleem is met $_SESSION dat er geen event valt aan te binden is als de sessie wordt vernietigd. Wel via session_destroy, maar niet meteen als je de browser sluit (garbage collection is een kans berekening?). Ik wil het eigenlijk zo hebben dat PHP meteen reageert op het sluiten van de browser.
In mijn huidige implementatie deserialize ik de sessie data vanuit de database. Als er een gebruikers object wordt gevonden kan er gekeken worden door middel van een kolom in de database wanneer de sessie het laatst is geupdate en kan ik hier mee de kolom last_visit updaten van het gebruikersobject.
Echter dan zit je met het probleem dat de garbage collection wordt getriggert door een kans berekening. De kans zou je natuurlijk kunnen verhogen, maar dat is niet wat ik zoek. Nu zou ik het ook kunnen oplossen door contineu een veld (last_visit_2) te maken. Daar in contineu de datum van de gebruiker op te slaan als hij/zij een pagina bezoekt. Vervolgens bij het inloggen last_visit2 in lastvisit te zetten, maar ik ben toch benieuwd of er nog mensen zijn die ook tegen een soort gelijk probleem zijn aangelopen. In ASP is het mogelijk om via een apart bestand een functie te implementeren het session_destroy event implementeert.
Ik ben benieuwd naar jullie oplossingen/bevindingen hierover.
Ik ben bezig met een website waar gebruik wordt gemaakt van een gebruikerssysteem. Je kan inloggen via een pagina die een gebruikersobject opslaat in een sessie ($_SESSION).
Nu handel ik de sessies af door gebruik te maken van: session_set_save_handler. Ik heb de verschillende functies geimplementeerd. Mijn systeem maakt gebruik van een mysql database om de sessies op te slaan.
Echter het probleem is met $_SESSION dat er geen event valt aan te binden is als de sessie wordt vernietigd. Wel via session_destroy, maar niet meteen als je de browser sluit (garbage collection is een kans berekening?). Ik wil het eigenlijk zo hebben dat PHP meteen reageert op het sluiten van de browser.
In mijn huidige implementatie deserialize ik de sessie data vanuit de database. Als er een gebruikers object wordt gevonden kan er gekeken worden door middel van een kolom in de database wanneer de sessie het laatst is geupdate en kan ik hier mee de kolom last_visit updaten van het gebruikersobject.
Echter dan zit je met het probleem dat de garbage collection wordt getriggert door een kans berekening. De kans zou je natuurlijk kunnen verhogen, maar dat is niet wat ik zoek. Nu zou ik het ook kunnen oplossen door contineu een veld (last_visit_2) te maken. Daar in contineu de datum van de gebruiker op te slaan als hij/zij een pagina bezoekt. Vervolgens bij het inloggen last_visit2 in lastvisit te zetten, maar ik ben toch benieuwd of er nog mensen zijn die ook tegen een soort gelijk probleem zijn aangelopen. In ASP is het mogelijk om via een apart bestand een functie te implementeren het session_destroy event implementeert.
Ik ben benieuwd naar jullie oplossingen/bevindingen hierover.
[ Voor 12% gewijzigd door Av3ng3rtje op 24-11-2008 00:07 ]