Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: czas uzytkownika na stronie
Forum PHP.pl > Forum > PHP
robert1974
czesc,
jak mierzyc czas uzytkownika na stronie, od wejscia do wyjscia? da sie?

jesli wyjscie jest na inna strone moja to jeszcze bym moze i wiedzial, zapisywac trzeba by skad wszedl, i gdzie wyszedl, i o ktorej, w jakims php. Ale moze jest jakies lepsze rozwiazanie i ktore pokrywaloby tez scenariusze wyjscia na inne (nie moje) strony ?

dzieki.
ZaqU
  1.  
  2. if( !isset($_SESSION['data_wejscia']) ) {
  3. $_SESSION['data_wejscia'] = time();
  4. }
  5.  
  6. $_SESSION['data_ostatniej_akcji'] = time();
  7.  
  8. echo "Spędziłeś na tej stronie: " . ($_SESSION['data_ostatniej_akcji'] - $_SESSION['data_wejscia']) . " sekund!";


Zapisujesz datę pierwszej wizyty w sesji w zmiennej $_SESSION['data_wejscia'] i każdą kolejną wizytę w $_SESSION['data_ostatniej_akcji']. Później wystarczy porównać czasy i wyjdzie ci czas jaki użytkownik spędził na twojej stronie.
robert1974
sorry, nie za bardzo rozumiem.

a. jesli ktos otworzy strone raz i jest na niej 5 min a inna osoba otworzy strone i jest na niej 15 min, obie tylko czytaja material, bez zadnych akcji, to gdzie mam zwiekszyc / przypisac $_SESSION['data_ostatniej_akcji'] = time();

i b. w ktorym momencie zapisac ten czas do bazy?

lukasz91
Możesz wykorzystać AJAX i aktualizować czas w zmiennej sesyjnej co pewien odstęp czasu. Dzięki temu będziesz wiedział ile użytkownik spędził czasu na jednej stronie.
robert1974
tak o ajax tez myslalem ...moge zrobic taki ajax co bedzie sie wykonywal co 2 min powiedzmy i updatowal pole czasu w bazie. Tylko wydaje mi sie to jakos malo optymalne.

a ciekawe jak to robi google analitycs ze podaje sredni czas spedzony na stronie.

dzieki za odpowiedzi.
ctom
to rozważ to + ajax
ZaqU
Podany przeze mnie sposób jest najprostszy i uwzględnia on czas spędzony przez użytkownika na n-1 stronach. AJAXem też można i nie jest to jakoś szczególnie mało wydajne, jednak czasami może być to przerost formy nad treścią. Jeżeli stron jest dużo, to mój sporób będzie najoptymalniejszy, natomiast jeżeli witryna posiada tylko kilka stron, a użytkownik będzie siedział na max. 1 lub 2, to wtedy lepiej użyć ajaxa, najlepiej z częstotliwością odświeżania 1 minuty.
com
no nie do końca bo, jak nie jest generowany ruch, tylko jak było opisane wchodzi się na 1 podstronę to nic Ci się nie zwiększy, a ga działa podobnie jak proponują koledzy tworzony jest "profil użytkownika" i dynamicznie odświerzany
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.