![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.06.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.06.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
tylko ze moje forum nie opiera sie na sesjah tylko i wylacznie na cookies (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
EDIT I jeszcze cos... nie ma tu ani troche sqla (IMG:http://forum.php.pl/style_emoticons/default/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 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
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.. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 13.01.2003 Skąd: 3rd ball of mud behind a big ball of burning gas Ostrzeżenie: (0%) ![]() ![]() |
Do przykladu wojtek'a dodalbym jeszcze zabezpiczenie cookiesem - tzn. kazdemu userwoi wysylamy cookiesa i przy sprawdzaniu sprawdzamy czy istnieje jesliby dwoch userow "klika (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) " do naszej strony z jednego IP.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
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.
|
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat tylko ze moje forum nie opiera sie na sesjah tylko i wylacznie na cookies (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
To zrób na sesjach (IMG:http://forum.php.pl/style_emoticons/default/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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 07:54 |