Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kto jest online
Forum PHP.pl > Forum > PHP
piotras9000
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
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
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
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
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
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
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
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.