Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dokładne zapisywanie czasu.
Forum PHP.pl > Forum > PHP
NickOver
Cześć,
Chcę zrobić dokładne zapisywanie czasu spędzonego nad jakąś "czynnością". Wygląda to mniej więcej tak:
Użytkownik wchodzi na stronę, wybiera zadanie, pojawia mu się licznik czasu z trzema opcjami:
-start
-pauza
-stop
Problem mam z zapisywaniem, tz. z dwoma konkretnymi sytuacjami:
-Użytkownik opuścił stronę zostawiając włączony licznik
-Użytkownik opuścił stronę zostawiając spałzowany licznik.

Jedyne co przychodzi mi do głowy aby wszystko dobrze się logowało to co sekundę wysyłać request który zwiększy ilość spędzonych nad tym sekund o 1, co jest według mnie średnie bo ktoś może nad czymś pracować np. 8h wtedy zostało by wysłane do serwera prawie 29k requestów, nie mam wtedy informacji czy ktoś zakończył już nad tym pracę (można było by ustawić crona który by to sprawdzał co chwilę tj. różnicę między godziną update'u bazy/pliku a aktualnym czasem). Ale ogólnie nie jestem zwolennikiem takiego rozwiązania.

Dodam że podpięcie akcji na opuszczenie przez myszkę strony i wtedy wysłać request nie zda egzaminu bo Alt + F4

Macie może jakieś pomysły? Może jakiś socket nastawiony na komunikację klient-serwer?
Pozdrawiam
NickOver
vokiel
Timer podłącz do serwera przez websockets. W ten sposób po zamknięciu przeglądarki (jeśli nie wyłapiesz eventu zamknięcia) socket się rozłączy, a to już możesz sobie spokojnie obsłużyć.
maly_swd
Dodatkowo możesz w JS zrobić zabezpieczenie http://www.w3schools.com/jsref/event_onbeforeunload.asp i wysłać requesta.

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