Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyświetlanie aktualnie zalogowanych
xxdrago
post 19.04.2011, 15:29:25
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


Witam, jak moge sprawdzić ile osób jest aktualnie zalogowanych?


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
mat-bi
post 19.04.2011, 15:30:31
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


mała kombinacja baza + session wink.gif
Go to the top of the page
+Quote Post
xxdrago
post 19.04.2011, 15:35:50
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


Mógłbyś opisać kroki jak mam to zrobic ?biggrin.gif


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
Hpsi
post 19.04.2011, 15:46:06
Post #4





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


dodajesz sobie w bazie danych tabele
  1. CREATE TABLE `user_online`
  2. (
  3. `uid` int(10) NOT NULL,
  4. `time` int(10) NOT NULL
  5. );

tworzysz sobie kod php ktory sprawdza za pomoca if czy uzytkownik jest zalogowany jesli tak to dodaje wpis do bazy np z time()+(60*15) [polecam funkcje replace into] co da ci 15 minut statusu online.

następnie sprawdzasz czy są uzytkownicy ktorzy przerkoczyli limit 15 minut bezczynnosci i usuwasz ich zapytanie sql + wraz z where smile.gif

i jesli masz juz to zrobione, sprawa jest prosta zczytujesz rekordy z bazy danych ktore sa w tabeli user_online i masz uzytkownikow ktorzy wykonali jakies akcje w przeciagu 15 minut.


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
modern-web
post 19.04.2011, 18:09:45
Post #5





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Zawartość bazy sama się nie usunie... Trzeba czymś wywołać skrypt czyszczący dane, które są już nieaktualne ;d
Pomysł sam w sobie bardzo dobry. Nic tylko wdrożyć go w życie smile.gif


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
Hpsi
post 19.04.2011, 19:12:37
Post #6





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Cytat
Zawartość bazy sama się nie usunie... Trzeba czymś wywołać skrypt czyszczący dane, które są już nieaktualne ;d

sorry mój sposób myślenia nie uwzględniał warunku gdzie trzeba dać sprawdzania etc, najlepiej w index.php lub w bibliotece start.lib.pl (coś co na samym początku każdego skryptu się otwiera ) , można także zaraz po podłaczeniu się do bazy - wtedy zawsze będzie przy odswierzeniu jakiejkolwiek strony uaktualniał dane wink.gif


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
modern-web
post 19.04.2011, 19:14:11
Post #7





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


biggrin.gif albo ... cron haha - już dziś była o tym mowa wink.gif


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
mat-bi
post 19.04.2011, 19:15:21
Post #8





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Jak dla mnei angażowanie crona w to jest bez sensu - lepiej walnąć proste zapytanie:

  1. DELETE FROM user_online WHERE time < NOW() - 15*60


przy konstruowaniu polączenia z bazą

Ten post edytował mat-bi 19.04.2011, 19:15:53
Go to the top of the page
+Quote Post
modern-web
post 19.04.2011, 19:17:13
Post #9





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


CRON przydatny jest przy 5000 odwiedzających wink.gif
Przy małych stronkach gdzie odwiedza ją max 20 osób no to przepraszam ale faktycznie masz rację.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
Hpsi
post 19.04.2011, 19:27:40
Post #10





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


człowieku ty chyba masz jakieś zboczenie n/t crona biggrin.gif tak jak z Toba dyskutuje na forum czy też czytam twoje posty to bardzo często on sie przewija, owszem cron przy duzych stonach jak najbardziej wskazany , przy stronach przy ilosci ludzi online z rzedu 10-200 wg mnie to jest wystarczajaca metoda smile.gif - sorry za offtopic wink.gif

--
mati-bi, w sumie twoje zapytanie w ten sposob nawet owiele wygodniejsze jest od tego co zamierzalem - dobry pomysl wink.gif



--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
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: 12.06.2025 - 22:05