Avatar billede sesam Nybegynder
16. april 2008 - 20:45 Der er 6 kommentarer og
1 løsning

Session destroy

Hey hey,
Er det muligt via PHP og tjekke hvilke sessions der er igang på ens site?

Jeg gemmer session_id() i min database og vil gerne køre et cron job script der sletter alle inactive sessions fra databasen...

Er det muligt?
Avatar billede leif Seniormester
16. april 2008 - 20:50 #1
Gem hvad tid du sidst har set det pågældende session_id og lave en rutine at hvis det er mere end xx minutter siden så slet den
Avatar billede sesam Nybegynder
16. april 2008 - 21:22 #2
Kan du vise et kode eksempel...?
Avatar billede leif Seniormester
16. april 2008 - 21:49 #3
Har ikke lige et eksempel.

Men træk tiden ud af databasen og lig fx. 5 min til og er tiden stadig mindre end nu så slet fra databasen
Avatar billede xsix Nybegynder
16. april 2008 - 23:33 #4
<?
$time = time();
$query = mysql_query("SELECT * FROM session WHERE last_seen < $time");
$data = mysql_fetch_assoc($query);

mysql_query("DELETE FROM session WHERE sessionid='$_SESSION[user_id]'");
?>

Du kan så sætte et cronjob til at køre denne fil :)
Avatar billede xsix Nybegynder
16. april 2008 - 23:35 #5
I mit eksempel ligger jeg så 5 min ekstra til tiden i den fil hvor jeg lægger "last_seen" tiden ind i databasen, men du kan også bare lægge 5 min til "$time" i det her query.
Avatar billede sesam Nybegynder
16. maj 2008 - 08:17 #6
smid venligst et svar... :O)
Tak for hjælpen...
Avatar billede xsix Nybegynder
16. maj 2008 - 09:22 #7
Så lidt, håber du kunne bruge det :)
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