Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nicki zalogowanych
Forum PHP.pl > Forum > Przedszkole
Lirdoner
Witam, jak mogę wyświetlić nicki zalogowanych użytkowników, każdy user ma nick zapisany w $_SESSION['login']
Proszę mi podać tylko technikę, skrypt sam napiszę
Spawnm
zrób tabelę z info o zalogowanych , np
czas, sid, nick
wyświetlasz tych co coś robili w ostatnich minutach , resztę usuwasz z bazy.
Pilsener
Poczytaj o mechanizmach obsługi sesji, najlepiej napisz własny, taki, który daje Tobie odpowiednie możliwości i zapewnia odpowiedni poziom bezpieczeństwa:
http://artykuly.zyxist.com/czytaj.php/wlasny_mechanizm_sesji
Czahoo
W tabeli użytkowników dodajesz kolumnę aktywność, w której przy każdym odświeżeniu strony wstawiasz wynik funkcji time().

Później aby sprawdzić czy dany użytkownik jest online, piszesz sobie taką funkcję:
  1. function online($id) //$id oznacza id użytkownika
  2. {
  3. $czas_aktywny=60; //tutaj wpisujesz odpowiedni czas w sekundach po którym uznajesz że dany użytkownik jest nieaktywny
  4. $sql=mysql_query("SELECT aktywnosc FROM tabela_uzytkownikow WHERE id='$id'");
  5. return $r['aktywnosc']+$czas_aktywny>=time()?true:false;
  6. }

Ta funkcja zwróci true jeżeli użytkownik jest aktywny i false jeśli nie.
phpion
@Czachoo:
Nie lepiej przenieść warunek do SQLa? Mając np. 1000 użytkowników, z których faktycznie aktywnych jest 10 pobierasz i sprawdzasz wszystkie 1000 użytkowników. Przenosząc warunek z PHP do SQL pobierasz tylko 10 rekordów i od razu wiesz, że pobrałeś tylko aktywnych.
Czahoo
Jeżeli potrzebujesz zwrócić wszystkich zalogowanych użytkowników to fakt, wygodniejsze jest następujące zapytanie:
  1. $czas_aktywny=60;
  2. $sql=mysql_query("SELECT login FROM tabela_uzytkownikow WHERE aktywnosc+$czas_aktywny>=".time());
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.