Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Who is online
Forum PHP.pl > Forum > PHP
palmaero
Chce stworzyc do swojego forum ( www.tgf-center.host.sk/forumtest/ ) skrypt "Who is online" taki jak na forum phpBB (czyli kto jest aktualnie zalogowany), ale niestety nie mam pojęcia jak się do tego zabrać. Chodzi głównie o zasadę bo skrypt napiszę sam. Jak bede mial problem z napisaniem skryptu to zapytam tongue.gif
DeyV
http://forum.php.pl/viewtopic.php?t=699&hi...ighlight=online

a, i szukaj - online
palmaero
tylko ze moje forum nie opiera sie na sesjah tylko i wylacznie na cookies smile.gif

EDIT

I jeszcze cos... nie ma tu ani troche sqla tongue.gif

EDIT 2

Nie chodzi mi o liczbe osob na foroom bo takie cos mam. Chodzi mi o to aby wymienialo na dole wszystkie aktualnie zalogowane osoby z nicka
wojtek
Cytat
Nie chodzi mi o liczbe osob na foroom bo takie cos mam. Chodzi mi o to aby wymienialo na dole wszystkie aktualnie zalogowane osoby z nicka


Masz tabele w bazie 'users_online', tam dajesz sobie kolumny id, ip, login, timestart, timelast (czy jak to sobie nazwiesz..). I jak ktos wchodzi na strone to dodajesz rekord - jego IP, login (jesli istnieje), timestamp rozpoczecia i tyle. Teraz na kazdej podstronie sprawdzasz czy IP danego usera jest juz w tabeli, jesli nie ma to dodajesz. I rownoczesnie usuwasz kolesi, ktorzy powiedzmy od 5 minut nie byli aktywni. A.. no i jesli koles juz jest w bazie to zmieniasz mu timelast na aktualny timestamp.

Teraz jesli chcesz wypisac userow zalogowanych to robisz prostego selecta z tej tabeli i wypisujesz loginy..
kwiateek
Do przykladu wojtek'a dodalbym jeszcze zabezpiczenie cookiesem - tzn. kazdemu userwoi wysylamy cookiesa i przy sprawdzaniu sprawdzamy czy istnieje jesliby dwoch userow "klika biggrin.gif " do naszej strony z jednego IP.
wojtek
Fakt, zapomnialem o tym ze pod jednym IP moze byc widocznych wielu userow. W kazdym badz razie najlepiej jest oprzec taki licznik na sesjach - dodajemy kolumne session_id do tabeli i na podstawie session_id() identyfikujemy kazdego usera, wtedy mozemy zapomniec o wszelkich problemach z IP.
BzikOS
Cytat
tylko ze moje forum nie opiera sie na sesjah tylko i wylacznie na cookies smile.gif

To zrób na sesjach smile.gif Oszczędzisz sobie problemów. I najlepiej trzymaj sesje w bazie to wtedy 3 linijki kodu wystarczą na stwierdzenie kto jest on-line ("SELECT SessValue FROM session WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(LastUpdated) < 300"), a w SessValue będzie id/ksywa zalogowanych/niezalogowanych userów.
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.