"Kasper Damkjær" <kd42@hotmail.com> skrev i en meddelelse
news:Xns91046307C3F4Ckd42hotmailcom@194.19.194.7...
> "Bee" <bee@bee.dk> wrote in
> news:3b820af9$0$374$edfadb0f@dspool01.news.tele.dk:
>
> > Hej
> >
> > Jeg har udarbejdet en lille brugersystem, hvor brugerne ligger i en
> > brugerdatabase. Når en person logger ind ændre jeg et felt i databasen
> > fra at være 0 til at være 1 - på den måde kan jeg via en oversigtsside
> > danne mig et overblik over hvilke brugere der en "online".
> >
> > - men - hvis brugeren ikke "logger" rigtigt ud - eksempelvis ved at
> > lukke browseren (X) istedet for at trykke på "Log ud" knappen - så
> > bliver database naturligvis ikke opdateret fra at være 1 til at være 0
> > - og brugeren forbliver "online" på min oversigts side.
> >
>
> Jeg har samme problem på en af mine sider. Jeg er igang med en løsning,
der
> registrerer tidspunkter. Når en bruger logger på, sættes der et timestamp
i
> databasen, og dette opdateres hvergang brugeren loader en ny side
(samtidig
> med hans/hendes cookie opdateres).
>
> Derefter har jeg en funktion, der checker brugerdatabasen og sletter
brugere
> fra onlinelisten, hvis der er gået mere end 1 time fra deres sidste
> timestamp (aktivitet). Efter dette tidsrum er deres cookie ligeledes
> udløbet, og der skal logges på igen.
Det lyder som en ganske brugbar idé - jeg har observeret at sessions også
udløber, hvis ikke brugeren er aktiv i en halv times tid - hvorefter man
igen skal logge på.
>
> > Jeg benytter mig af sessions, og spekulerer nu på om det er muligt via
> > sessions at holde øje med hvilke brugere der er online/offline.
> >
> > mao. kan jeg f.eks. tildele et felt i databasen den sessionværdi som
> > brugeren får tildelt når han/hun logger ind, og så via oversigtsside,
> > udføre et tjek på serveren for at se hvilke sessions, der stadig er
> > "aktive" - jeg mener at have læst et sted, at sessions først slettes på
> > serveren efter en "rum" tid.
>
> Se evt. news:I76g7.5764$3q.206130@news010.worldonline.dk eller
>
http://php.net/manual/en/ref.session.php
Det første link - refererer bare til et spørgsmål - derfra kommer jeg ikke
videre - og det andet link synes ikke rigtig at kunne besvare mit
spørgsmål - det siger kun noget om at man kan tidsbegrænse en session.
>
> (Om bl.a. session.gc_maxlifetime)
>
> Hvis du finder en mere elegant løsning end den jeg roder, med vil jeg
gerne
> høre om det :)
Hvis det lykkes, så "poster" jeg den her
> --
> Kasper Damkjær
>
http://damkjaer.net