Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHPSESID, Jak sprawdzic czy user nadal zalogowany
-Gość_MIchal-
post 1.03.2006, 18:42:53
Post #1





Goście







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.
Go to the top of the page
+Quote Post
SNC
post 1.03.2006, 18:49:24
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.04.2005
Skąd: Lublin

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


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 to the top of the page
+Quote Post
-Gość_Michal-
post 1.03.2006, 21:57:31
Post #3





Goście







ale musze pisac jakas funkcje czy jak bo zabardzo nie rozumiem.
Go to the top of the page
+Quote Post
qbejs
post 1.03.2006, 22:31:21
Post #4





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 9.02.2006

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


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. ?>


Ten post edytował qbejs 1.03.2006, 22:35:37
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: 6.07.2025 - 21:07