Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Nicki zalogowanych
Lirdoner
post 15.12.2009, 20:10:14
Post #1





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

Ostrzeżenie: (0%)
-----


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ę
Go to the top of the page
+Quote Post
Spawnm
post 15.12.2009, 20:12:52
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




zrób tabelę z info o zalogowanych , np
czas, sid, nick
wyświetlasz tych co coś robili w ostatnich minutach , resztę usuwasz z bazy.
Go to the top of the page
+Quote Post
Pilsener
post 16.12.2009, 11:15:11
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Czahoo
post 16.12.2009, 12:19:34
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 2
Dołączył: 16.12.2009

Ostrzeżenie: (0%)
-----


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.


--------------------
Czahoo - Gra MMORPG online
Go to the top of the page
+Quote Post
phpion
post 16.12.2009, 12:21:31
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@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.
Go to the top of the page
+Quote Post
Czahoo
post 16.12.2009, 12:28:59
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 2
Dołączył: 16.12.2009

Ostrzeżenie: (0%)
-----


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());


Ten post edytował Czahoo 16.12.2009, 12:29:50


--------------------
Czahoo - Gra MMORPG online
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 10.07.2025 - 04:32