Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt pokazujacy ile uzytkownikow online:
Forum PHP.pl > Forum > Przedszkole
Raven1122
Witam, mam taki skrypt, ktory przy logowaniu ustawia w bazie danych wartosc w tabeli 0 na 1, lecz nie bardzo wiem jak zrobicc by przy wylaczeniu przegladarki (bo nie kazdy uzywa wyloguj, tylko poprostu zamyka przegladarke) zmienic ta wartosc spowrotem na 0. Jakies pomysly?
Sephirus
Temat często wałkowany smile.gif

Proponuje zamiast trzymać 0/1 to trzymać datę ostatniej aktywności użytkownika i wg niej okreslać czy user jest online czy nie...

Zakładasz sobie przykładowo, że traktujesz usera jako online gdy jego ostatnia aktywność nie jest starsza niż powiedzmy 3 minuty i tyle wink.gif
Raven1122
czyi tworze tabelke "lastactibity" ktora aktualizuje skryptem ktory jest na kazdej podstronie i porownuje ja do terazniejszego czasu tak?
Majkelo23
Dodajesz do tabeli z userami, pole:

  1. ALTER TABLE `tabela_z_userami` ADD `user_lastvisit` int(11) NOT NULL;


Potem na początku pliku .php, jeśli user jest zalogowany, dodajesz:

  1. $now = time();
  2. if ( $user_jest_zalogowany )
  3. {
  4. $sql = "UPDATE `tabela_z_userami` SET user_lastvisit = '".$now."'";
  5. $result = mysql_query($sql)
  6. or die("blad");
  7. }


Potem jak wyciągasz userów obecnie online to:

  1. $now = time();
  2. $sql = "SELECT * FROM `tabela_z_userami` WHERE user_lastvisit > ($now - 300)";
  3. $result = mysql_query($sql)
  4. or die("blad");
  5. while($row = mysql_fetch_assoc($result))
  6. {
  7. $obecnie_online .= $row['nick'];
  8. }
  9. $body = 'Obecnie online są: ' . $obecnie_online . '';
  10. echo $body;


Coś w tym stylu.
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.