Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> czas uzytkownika na stronie
robert1974
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

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


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.
Go to the top of the page
+Quote Post
ZaqU
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 21.01.2013

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


  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.

Ten post edytował ZaqU 10.01.2015, 12:45:14
Go to the top of the page
+Quote Post
robert1974
post
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

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


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?

Go to the top of the page
+Quote Post
lukasz91
post
Post #4





Grupa: Zarejestrowani
Postów: 149
Pomógł: 7
Dołączył: 6.01.2010
Skąd: Opole Lubelskie

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


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.
Go to the top of the page
+Quote Post
robert1974
post
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

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


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.
Go to the top of the page
+Quote Post
ctom
post
Post #6





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

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


to rozważ to + ajax
Go to the top of the page
+Quote Post
ZaqU
post
Post #7





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 21.01.2013

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


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.
Go to the top of the page
+Quote Post
com
post
Post #8





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 06:56