piotras9000
31.08.2007, 17:05:29
Chciałbym się zapytać jak działa taki skrypt pokazujący kto jest obecnie zalogowany. Podejrzewam że chodzi o sesje. Ale jak to dokładnie jest?
k@mil
31.08.2007, 17:08:32
wydaje mi sie ze tak:
przy logowaniu ustawiasz w bazie ze jest zalogowany (np pole logged_in na 1)
przy wylogowywaniu na 0
i sprawdzas kto jest 1 i wyswietlasz
Blodo
1.09.2007, 04:36:20
Trzymajac sesje w bazie danych poprostu bierzesz cala tabele i zwracasz wyniki. Bez sesji opartych na bazie danych raczej nie da sie tego zrobic, chyba ze jakims dzikim sposobem typu odczytywaniem plikow sesyjnych prosto z /tmp/, tyle ze watpie czy tak sie wogole da na niektorych serwerach.
TomASS
1.09.2007, 10:42:35
Cytat
Podejrzewam że chodzi o sesje
Nie do końca.
Cytat
przy logowaniu ustawiasz w bazie ze jest zalogowany (np pole logged_in na 1)
przy wylogowywaniu na 0
i sprawdzas kto jest 1 i wyswietlasz
A jak się nie wyloguje tylko zamknie przeglądarkę/zawiesi kompa/naciśnie reset/padnie net itp....?
Zobacz na
Creating a “Who’s Online” script with PHP
k@mil
1.09.2007, 10:48:39
Cytat
A jak się nie wyloguje tylko zamknie przeglądarkę/zawiesi kompa/naciśnie reset/padnie net itp....?
no tak, ale mozna tez przy kazdym ruchu usera (np klikniecie linku czy cos) zapisywac obecny czas do bazy a jezeli przez np 15 minut nic nie robi to wylogowac go (ustawic 0)
mruwek
1.09.2007, 15:12:56
Cytat("TomASS")
Zobacz na Creating a “Who’s Online” script with PHP
Cytat("http://www.phpit.net/article/creating-whosonline-script-php/")
hmm..... i co tu zrobić?
[edit]
Eh... Dzięki Ci Panie za web.archive.org
klik
markotny
3.09.2007, 22:24:34
Bez użycia bazy myqla to trzeba zrobić. Zamknięcie przeglądarki sprawi że sesja zostanie przerwana bez zamiany statusu w bazie mysql. Próbowałem tego rozwiązania i się nie sprawdził.
Też próbuję rozwiązać ten problem. Więc jak już dojdziesz do strzału wrzuć tu rozwiązanie.
Regyam
9.11.2007, 16:03:42
Przeciez wystarczy tylko w pliku dolaczanym do kazdej podstrony dodac zapytanie do SQL dodajace czas od poprzedniego updejta. I jak zostanmie przerwana sesja to poprostu nie doda. W czym problem? Struktura tabeli np taka id | poprzednio_online | czas_na_stronie
BORG
10.11.2007, 21:25:51
U mnie to dziala tak ze mam w tabeli z uzytkownikami pole "online" w ktorym jest czas kiedy ostatnio byl na stronie. Za kazdym razem jak gdzies kliknie uzytkownik to sie aktualizuje to pole aktualna data i godzina. Przy sprawdzaniu kto jest online wybieram rekordy ktore byly ostatnio oktywne. Dzieki temu mozna tez sprawdzic kiedy ktos byl ostatnio widziany.
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.