![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Do realizacji pewnego pomysłu potrzebna jest mi możliwość rejestracji czasu rozpoczęcia i zakończenia sesji użytkownika. Użytkownicy mają być identyfikowani tylko na podst. cookies (bez logowania/wylogowania). Oczywiście nie ma problemu, jeśli idzie o zapis czasu rozpoczęcia sesji, powstaje tylko pytanie czy jest sposób na zapis czasu, kiedy użytkownik opuścił stronę (zamknął okno przeglądarki, rozłączył się z net'em lub wpisał nowy adres)?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat czy jest sposób na zapis czasu, kiedy użytkownik opuścił stronę (zamknął okno przeglądarki, rozłączył się z net'em lub wpisał nowy adres)?
Nie. HTTP sam z siebie jest protokołem bezstanowym. Przeglądarka wysyła zapytanie do serwera, dostaje odpowiedź i się rozłącza (ew. w HTTP 1.1 może wysłać kilka requestów ale to nie zmienia postaci rzeczy). Serwer nie wie nic o tym co się dzieje po stronie klienta po zakończeniu transmisji. Nie wiadomo, czy za chwile klient znów coś wyśle, czy też zamknie przeglądarke. A powiedz, do czego Ci to potrzebne, bo może da się rozwiązać w inny sposób. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
To jest potrzebne do uwiarygodnienia statystyk - oprócz tego, że użytkownik wszedł na stronkę warto wiedzieć, czy zamknął ją zaraz po wczytaniu, oglądał ja np. minutę itd.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat To jest potrzebne do uwiarygodnienia statystyk - oprócz tego, że użytkownik wszedł na stronkę warto wiedzieć, czy zamknął ją zaraz po wczytaniu, oglądał ja np. minutę itd.
To na moj gust, bez apletu Javy się nie obejdzie. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ewentualnie można w pętli sprawdzać przy pomocy [manual:79e5f1ade4]connection_aborted[/manual:79e5f1ade4] czy nie zostało rozłączone, ale nie jest to wydajne i przy statystyka ch odpada.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 13.01.2003 Skąd: 3rd ball of mud behind a big ball of burning gas Ostrzeżenie: (0%) ![]() ![]() |
Poodbny problem był już na forum kiedyś poruszzany i jednyhm z rozwiązań jest umieszczenie kodu JavaScript, który przy zamknięciu przeglądarki będzie uruchamiał małe okienko, w którym będzie przetwarzany skrypt odpowiedzialny za zapisanie czasu końca sesji.
Pozdrawiam. |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 1 Dołączył: -- Skąd: Rogożnik /K-ce/ Ostrzeżenie: (0%) ![]() ![]() |
Można też tak zrobić, by zapisywać każdy ruch użytkownika strony (czytać z sesji czas ostatniej operacji). Po upłynięciu np. 30 minut bezczynności w statystykach odejmować od czasu bieżącego te 30 min i wychodzi czas ostatniego kliku usera strony. Jest tutaj taki haczyk, że jak user czyta podstronę np. 10 min po czym zamyka przeglądarkę, to w statystykach pokaże się jego czas rozłączenia z serwisem w momencie kliknięcia na tą ostatnio oglądaną podstronę.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że większość ograniczeń nie pozwalających na łatwą realizację tego zadania polega na tym, że php to "preprocesor...", który ma jedynie przygotować stronki do wyświetlenia. Ideałem byłoby, gdyby JavaScript zamiast otwierać okno (mało eleganckie) zapisywał od razu dane w bazie np. MySQL : (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) Ale niestety to byłoby za łatwe...
Thnx for @ll |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:03 |