Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHPSESID
Forum PHP.pl > Forum > Przedszkole
Gość_MIchal
Mam nastepujacy problem:
Napisalem skrypt do logowania, jelsli user jest zalogowany to w bazie dodaje sie wpis przy jego nicku, ze user jest zalogowany,
Jesli nacisnie [WYLOGUJ] to wpis sie usuwa, Dzieki temuw iem ilu jest zalogowanych userow,
ale jak zrobic ze jak urzytkownik nie nacisnie [WYLOGUJ] a zamknie przegladarke to jak zrobic by w bazie danych nie pisalo juz user zalogowany questionmark.gif?

Skrypt sluzy mi do tego by zobaczyc ile aktualnie zalogowanych gosci jest na www.
SNC
Dodajesz do tabeli z userami dodatkowe pole, tzw. timestamp i po kazdej akcji uzytkownika uaktualniasz to pole. Jezeli przez 10min nie bylo zadnej akcji, usuwasz wpis.
Gość_Michal
ale musze pisac jakas funkcje czy jak bo zabardzo nie rozumiem.
qbejs
Tak, możesz sobie napisać np. 3 funkcje - jedna dodaje wpis, druga sprawdza aktywnosc a trzecia wyswietla aktywnych...Masz tu coś co ja wykorzystuje, ale jest to stary skrypcik który modyfikuje pod daną potrzebę.

  1. <?
  2.  
  3. //STATYSTYKI ONLINE
  4. $login=$_SESSION['login'];
  5. $time=time();
  6. $minutes=5*60;
  7. $result = mysql_query("SELECT login FROM `users_online` WHERE login='".$login."'") or die(mysql_error());
  8. $row = mysql_fetch_array($result);
  9. if($row['login'] == $login)
  10. {
  11. mysql_query("UPDATE `users_online` SET time='".$time."' WHERE login='".$login."'") or die(mysql_error());
  12. }
  13. else
  14. {
  15. mysql_query("INSERT INTO `users_online` (id, login, time) VALUES ('', '".$login."', '".$time."')") or die(mysql_error());
  16. }
  17. $time_offline=(time()-$minutes);
  18. mysql_query("DELETE FROM `users_online` WHERE time < ".$time_offline." ") or die(mysql_error());
  19. ?>
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.