Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Status dostepnosci uzytkownika
prohol
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 20.07.2007

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


Witam,

Jak rozwiazujecie problem dostepnosci uzytkownika na stronie (np jak w naszej-klasie)?. Najwiekszym problem jest gdy uzytkownik zamknie przegladarke bez wylogowania. Jak wtedy okreslic jego status? W Dolphinie sa 2 pola w tabeli usera: jedno ze statusem (aktywny, zajety itp) a drugi ze znacznikiem czasowym ostatniej aktywnosci usera + w tabeli systemowej pozycja z max dlugoscia czasu aktywnosci usera (np 5 minut). I jak user nic nie robi na stronie np 5 minut to jego status przy niektorych funkcjach (jak wyszukiwanie) ustawiany jest na podstawie wzoru: if obecny_czas - czas_aktywnosci_usera > ostatni_czas_aktywnosci to status niedostepny - co nie implikuje zmiany pola status w bazie (bo to by bylo wkurzajace jakby przez 5 minut niekatywnosci user musial by zmieniac swoj status na aktywny itp). Jak rozwiazac ten problem? Wkrotce bede pisal swoj system i bede chcial taka funkcjonalnosc zaimplementowac. Obecnie system stoi na dolphinie i takie rozne dziwne kwiatki sie pojawiaja.
Go to the top of the page
+Quote Post
Pilsener
post
Post #2





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

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


Ogólnie statusy są dwa: zalogowany i aktywny, aktywny użytkownik nie musi oznaczać zalogowanego (choć zazwyczaj tak jest) natomiast zalogowany aktywnego (gość się loguje i idzie do klopa na godzinę). Dlatego nie ma wygodnego ani wydajnego sposobu, po prostu mierzysz czas od ostatniej znanej akcji użytkownika, jeśli jest większy niż powiedzmy 5 minut user = nieaktywny, jeśli większy niż Twój czas ważności sesji = wylogowany (no chyba, ze kliknie oczywiście wyloguj). Nie znam żadnego sposobu by w PHP sprawdzić, czy user poszedł do klopa, czy wyłączył przeglądarkę - możesz posiłkować się AJAXem w celu wspomożenia swojego systemu (jednak nie może on opierać się w całości na AJAXie). Im częściej będziesz sprawdzał czas tym dokładniejszy będzie system, lecz baza i serwer będą bardziej obciążone - powinieneś uwzględnić to w konfiguracji i oczywiście pamiętaj o dobrym cache do tego.
Go to the top of the page
+Quote Post
prohol
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 20.07.2007

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


Dzieki Pilsener. Tylko nie do konca rozumiem to posilkowanie sie Ajaxem? Moglbys to troche rozwinac?
Go to the top of the page
+Quote Post
marcio
post
Post #4





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(prohol @ 18.12.2009, 10:56:48 ) *
Dzieki Pilsener. Tylko nie do konca rozumiem to posilkowanie sie Ajaxem? Moglbys to troche rozwinac?


Chodzi o to ze mozesz wiedziec kto jest online bez przeladowania strony co jest bardziej precyzyjne i dodac sprawdzenie np co 10sec. zamiast co kazde przelodowanie strony.




--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
prohol
post
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 20.07.2007

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


Ok dzieki, juz rozumiem.
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 Aktualny czas: 20.08.2025 - 07:11