Foros del Web » Programando para Internet » Javascript »

Medir el tiempo que estuvo un usuario en una pagina.

Estas en el tema de Medir el tiempo que estuvo un usuario en una pagina. en el foro de Javascript en Foros del Web. Hola. Necesito medir en una aplicacion hecha en PHP, HTML5, Jquery el tiempo que un visitante esta en cada pagina. Trate colocando al cargar la ...
  #1 (permalink)  
Antiguo 14/12/2012, 16:04
 
Fecha de Ingreso: octubre-2006
Mensajes: 12
Antigüedad: 18 años, 1 mes
Puntos: 0
Medir el tiempo que estuvo un usuario en una pagina.

Hola.

Necesito medir en una aplicacion hecha en PHP, HTML5, Jquery el tiempo que un visitante esta en cada pagina. Trate colocando al cargar la pagina una variable global con el tiempo inicial, y en el metodo onbeforeunload un llamado ajax para tomar el tiempo final, restarlo al tiempo inicial y guardar eso en una BD. Desafortunadamente la ejecucion ajax no me funciona en ese evento, entonces no se que otra solucion puedar haber para hacer lo que necesito.

Agradezco la ayuda que me puedan brindar.
  #2 (permalink)  
Antiguo 14/12/2012, 21:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

supongo que tenés un sistema de loguin, en consecuencia un boton de logout, con esos elementos bastaría sacar la diferencia,
Para los casos en que el usuario no hace el logout podés fijar un tiempo máximo para la sesión (supongamos 2 horas) y si cualquier acceso posterior a una página que resulte en una diferencia mayor a 7200 segundos le hacés un logout automaticamente

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 15/12/2012, 08:57
 
Fecha de Ingreso: octubre-2006
Mensajes: 12
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

Gracias por la respuesta pero no es exactamete eso que necesito, lo que necesito es por ejemplo, la aplicacion tiene cuatro paginas, entro a la primera y ahi duro 2 minutos, entro a la segunda y ahi duro 6 minutos y asi, es decir necesito medir cuanto tiempo hay entre que cargan cualquier pagina y se salen de ella.
  #4 (permalink)  
Antiguo 16/12/2012, 09:43
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 5 meses
Puntos: 127
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

Crea un array php que almacene un índice cada vez que se visita una página.

A cada visita crea dos valores en un subarray que almacenen la url y el timestamp actual.

$visitas = array(array("url"=> "ejemplo.php", "timestamp"=>"102938123"),array("url"=> "home.php", "timestamp"=>"102938400"));

Luego es cosa de calcular la diferencia entre un registro y otro. Para almacenar la información de usuario, tan solo inicia sesión mediante cookie.

Código PHP:
Ver original
  1. $indice = 0;
  2. $lasturl;
  3. $lasttimestamp;
  4. $narray = array();
  5. foreach($visitas as $i){
  6. if($lasturl == $i['url']){
  7. $narray[$indice] = array("url" => $lasturl, "diferencia" => $i['timestamp'] - $lasttimestamp);
  8. } else{
  9. $lasturl = $i['url'];
  10. $lasttimestamp = $i['timestamp'];
  11. $indice++;
  12. }
  13. }

Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Última edición por dontexplain; 16/12/2012 a las 09:51
  #5 (permalink)  
Antiguo 16/12/2012, 10:51
 
Fecha de Ingreso: octubre-2006
Mensajes: 12
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

Gracias por la respuestas, me queda una duda, en que momento hago ese almacenamiento?
  #6 (permalink)  
Antiguo 17/12/2012, 03:41
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 5 meses
Puntos: 127
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

El array se llena con un índice más cuando la persona visita la página pero no hay forma de averiguar cuándo la abandonó. Tendrías que ir almacenando en cada carga en la db.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #7 (permalink)  
Antiguo 17/12/2012, 09:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 12
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

No hay forma de guardarlo cuando se cambia de pagina o se cierra la ventana, es decir en el evento onunload?
  #8 (permalink)  
Antiguo 17/12/2012, 11:17
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 5 meses
Puntos: 127
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

El evento unload es muy inestable y no funciona igual en todos los navegadores.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #9 (permalink)  
Antiguo 17/12/2012, 12:56
lamek
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Medir el tiempo que estuvo un usuario en una pagina.

Si, a mi el evento unload en varias ocasiones me ha llevado grandes quebraderos de cabeza!

Etiquetas: funcion, html, jquery, medir, php, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:57.