Dominator
5.08.2012, 19:15:43
Witam
Jak sprawdzić czy użytkownik jest online ?
PS: Zrobiłem tak: jeśli się zaloguje ktoś to ma status 1, a gdy się wyloguje to ma 0, lecz gdy user sobie wyjdzie i opuści moją stronę to sesja nadal trwa, a użytkownik będzie zalogowany
Korab
5.08.2012, 19:20:37
Możesz zapisać sobie w bazie datę ostatniej wykonanej akcji i przy każdym załadowaniu ją uaktualniać, a jeżeli jest starsza niż np. pół godziny, to wylogowywać z automatu.
Dominator
5.08.2012, 19:31:54
A inne rozwiązanie jest ?
abort
5.08.2012, 21:23:18
Można bawić się z ważnością cookie, ale ja bym bardziej polegał na tym, co sam generuję i przechowuję po stronie serwera.
Cookie owszem - ale jako dodatek.
irmidjusz
5.08.2012, 23:24:06
Tak jest najlepiej, zapisywać w bazie czas ostatniej aktywności usera (czyli w praktyce obsługi requesta), dopóki był nie dawniej niż x minut, to można uważać, że jest online. Ewentualnie można też używać ajaxa do wysyłania np. co minutę jakiegoś prostego zgłoszenia, które rejestrowane po stronie serwera uaktualnia czas. A jak się user wyloguje, też można tej informacji wykorzystać do natychmiastowego oznaczenia usera jako offline. Czyli online jest wtedy, jak jest zalogowany i czas ostatniej akcji nie starszy niż x minut.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.