Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z prawidłowym wykryciem kto jest online
Forum PHP.pl > Forum > PHP
fafrys
Witam!! temat był wielokrotnie już poruszany, przeczytałem wszystkie posty ale niestety nie znalazlem odpowiedzi sad.gif Otóż mam taki mały systemik gdzie się loguję. Podczas logowania zapisuję do tabeli w bazie

$query="UPDATE users SET zalogowani='Tak', last_login=NOW() WHERE id_user='{$_SESSION['id_user']}' AND login='{$_SESSION['login']}'";

To samo robie w momencie wylogowywania z tą różnica ze zamieniam

$query="UPDATE users SET zalogowani='Nie' WHERE id_user='{$_SESSION['id_user']}' AND login='{$_SESSION['login']}'";

Mam dodatkowo dla siebie taki panelik administratorski w którym wyswietlam sobie wszystkich zarejestrowanych uzytkowników w tabeli i przy kazdym wyswietlam status usytkownika - czy jest zalogowany czy nie!! Problem tkwi w tym że niestety nie panuję nad tym jak użytkownik sie nie wyloguje a wylaczy od razu przegladarke albo wejdzie na inna strone sad.gif gdyz status pozostaje wtedy bez zmian i mimo ze juz nie jest na stroinie status w panelu administratorskim pokazuje mi jako zalogowany!! Wiem ze jest mozliwosc ustawienia czasu sesji czy jakos tak ale przyznam ze nie mam o tym niestety zadnego pojecia a bardzo zalezy mi na tym!! Bardzo proszę o pomoc jak co moge zrobic zeby pokazywalo mi prawidlowo status!! Z góry dziekuje i przepraszam za powtarzający się temat!!
mike
Nie powinieneś szukać aktywnych po statusie ale po dacie ostatniej aktywności.
Przy każdym załadowaniu strony uaktualniasz datą ostatniej aktywności.
I za aktywnych uznajesz tych którzy coś zrobili w ciągu (tu sam wybierasz) na przykład 5 min.

Masz ciekawy artykuł na ten temat: Creating a “Who’s Online” script with php
kusiu
Cytat(fafrys @ 2006-05-16 17:31:50)
Witam!! temat był wielokrotnie już poruszany, przeczytałem wszystkie posty ale niestety nie znalazlem odpowiedzi sad.gif Otóż mam taki mały systemik gdzie się loguję. Podczas logowania zapisuję do tabeli w bazie

$query="UPDATE users SET zalogowani='Tak', last_login=NOW() WHERE id_user='{$_SESSION['id_user']}' AND login='{$_SESSION['login']}'";

To samo robie w momencie wylogowywania z tą różnica ze zamieniam

$query="UPDATE users SET zalogowani='Nie' WHERE id_user='{$_SESSION['id_user']}' AND login='{$_SESSION['login']}'";

Mam dodatkowo dla siebie taki panelik administratorski w którym wyswietlam sobie wszystkich zarejestrowanych uzytkowników w tabeli i przy kazdym wyswietlam status usytkownika - czy jest zalogowany czy nie!! Problem tkwi w tym że niestety nie panuję nad tym jak użytkownik sie nie wyloguje a wylaczy od razu przegladarke albo wejdzie na inna strone sad.gif gdyz status pozostaje wtedy bez zmian i mimo ze juz nie jest na stroinie status w panelu administratorskim pokazuje mi jako zalogowany!! Wiem ze jest mozliwosc ustawienia czasu sesji czy jakos tak ale przyznam ze nie mam o tym niestety zadnego pojecia a bardzo zalezy mi na tym!! Bardzo proszę o pomoc jak co moge zrobic zeby pokazywalo mi prawidlowo status!! Z góry dziekuje i przepraszam za powtarzający się temat!!

fafrys pozdro smile.gif

---added---
Wielki Brat patrzy i widzi jak bezczelnie nabijasz głupie posty.
Następny taki i dostaniesz ostrzeżenie.
Forum to nie jest Twoja prywatna piaskownica angrysmiley.gif
~mike_mech
cornholio666
Witam,

w podanym artykule i innych które przeczytałem na ten temat wykorzystuje się adres ip a nie lepiej zastosować id zalogowanego użytkownika ?

Pozdrawiam
mike
Cytat(cornholio666 @ 16.05.2008, 11:10:36 ) *
w podanym artykule i innych które przeczytałem na ten temat wykorzystuje się adres ip a nie lepiej zastosować id zalogowanego użytkownika ?
To zależy.
Jeśli masz zamiar liczyć tylko ilość zalogowanych online to proszę bardzo. Wątek jest o ilości wszystkich online, a przecież nie wszyscy są zalogowani, nie?

Poza tym. Nie za stary ten odgrzewany kotlet?
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.