Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Użytkownik online
Forum PHP.pl > Forum > Przedszkole
Gizmon
Mam pytanie - jak zrobić aby w bazie danych było9 zapisywane czy użytkownik jest online. Tzn. przy każdej stronie można dodać UPDATE do bazy, ale co jeśli użytkownik zamknie przeglądarkę? w bazie nadal będzie wpis, że użytkownik jest online. I tu pytanie do Was - czy istnieje jakieś rozwiązanie tego problemu smile.gif
Cysiaczek
Możesz co jakiś czas sprawdzać aktywność użytkownika. Jeśli nie jest aktywny przez np. 2 godziny, to go automatycznie wylogowujesz i po kłopocie. Oczywiście to zalezy jak wiele informacji o uzytkowniku i jego stanie zbierasz, bo jak tylko zaznaczasz, że się zalogował i nic więcej, to nie wiele zrobisz :/
Athlan
Ja bym w tabelu uzytkownika zrobił takie pole jak session i tam wartość typu time()... jak to miałoby działać?

co kliknięcie jest UPDATE pola session do bazy danych z wartością time()+600, czyli na 10 minut od tego kliknięcia... i potem w stopce WHO IS ONLINE zaznaczasz:

  1. SELECT user_nick FROM users WHERE session > $time

gdzie $time to time();

po kłopocie... jezeli kolo nie kliknie w ciągu 3 minut, nie zostanie updatowany jego profil i nie bedzie na liście online smile.gif

pozdrawiam smile.gif

EDIT -----------
przy okazji będziesz miał ostatnia wizytę usera smile.gif

pozdro smile.gif
Bastion
Ja bym użył klasy Scout :

http://www.vertis.com.pl/demo/scout/examples/example10.php
TomASS
Cytat
Jeśli nie jest aktywny przez np. 2 godziny

2 godziny?

Ja polecam ten skrypt.
Athlan
ostatnio pisałem klasę online (oczywiście amatorska bo moja pierwsza):

Temat: OOP php ocena moja pierwsza klasa w OOP
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.