Foros del Web » Programando para Internet » PHP »

Páginas visitadas y tiempo de navegación ¿con sesiones?

Estas en el tema de Páginas visitadas y tiempo de navegación ¿con sesiones? en el foro de PHP en Foros del Web. Hola gente. Me gustaría monitorizar qué páginas visita una persona de un sitio web y cuánto tiempo está en cada una de ellas, o en ...
  #1 (permalink)  
Antiguo 19/09/2006, 08:34
 
Fecha de Ingreso: febrero-2002
Mensajes: 59
Antigüedad: 22 años, 2 meses
Puntos: 0
Pregunta Páginas visitadas y tiempo de navegación ¿con sesiones?

Hola gente.

Me gustaría monitorizar qué páginas visita una persona de un sitio web y cuánto tiempo está en cada una de ellas, o en total.

Había pensado hacerlo con sesiones, pero no lo veo nada fácil. ¿Tenéis alguna idea? ¿O algún script que haga algo similar a lo que pido?

Contar el tiempo desde que comienza la sesión hasta que finaliza lo veo sencillo, si el usuario sale de la sesión a través del enlace que le facilite. Si cierra el navegador, ¿cómo se haría?

También me gustaría controlar qué paginas visita.

Muchas gracias.
__________________
Gatorrollo
http://www.diegoml.com
  #2 (permalink)  
Antiguo 19/09/2006, 16:45
 
Fecha de Ingreso: febrero-2002
Mensajes: 59
Antigüedad: 22 años, 2 meses
Puntos: 0
Alguna idea, por favor :(
__________________
Gatorrollo
http://www.diegoml.com
  #3 (permalink)  
Antiguo 20/09/2006, 07:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Todo eso que pides ya lo hace tu servidor HTTP (Apache por ejemplo). Toda esa inforamción la tienes en los "log's" que hace este (donde se podría forzar más detalle si lo necesitas).

Lo único que necesitas es "parsear" o "evaluar/analizar" esos enormes "logs" que hace ya tu servidor HTTP con alguna herramienta para tal fin.

Hacer un sistema de este estilo con PHP .. en principio no sería factible el uso de sesiones. Debes tener alguna base de datos para almacenar esta información y actualizarla a cada iteracción de cualquier script de tu sitio con el servidor (cada vez que lo pidas). El control de que el usario "salga" de tu script en forma "abrubta" deberías asumir un "tiempo de inactividad" .. lo cual no es exacto pero es la única forma, recuerda como funciona PHP: PHP genera la pagina y termina la ejecución del scritp .. ahí ya pierde todo control de lo que el "cliente" hace o no hace.

Un saludo.
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 20/09/2006, 09:45
 
Fecha de Ingreso: febrero-2002
Mensajes: 59
Antigüedad: 22 años, 2 meses
Puntos: 0
Gracias por tu respuesta, aunque no se muy bien cómo funcionan los logs.

Olvidé mencionar que esos usuarios a los cuales quiero monitorizar, tendrán que autentificarse mediante login y contraseña para acceder a estas páginas. Por eso buscaba una manera de hacerlo mediante sesiones.

Tampoco dije que mi idea era guardar la información que busco en una base de datos. Básicamente me interesa saber qué páginas ha visitado y cuánto tiempo pasa en cada una de ellas.

¿Cómo puedo acceder a los logs del servidor donde alojo mis páginas? Muchas gracias Cluster.
__________________
Gatorrollo
http://www.diegoml.com
  #5 (permalink)  
Antiguo 20/09/2006, 09:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Tampoco dije que mi idea era guardar la información que busco en una base de datos. Básicamente me interesa saber qué páginas ha visitado y cuánto tiempo pasa en cada una de ellas.
Bueno . .para hacer ese "registro" en algún sitio lo tendrás que almacenar para luego realizar tus consultas SQL y empezar a generar reportes y estadísticas.

Cita:
¿Cómo puedo acceder a los logs del servidor donde alojo mis páginas?
Usas un servicio de hosting? .. Tu proveedor tiene algún "cPanel" o panel de control (lo comento por qué esa opción suele estar ahí).

Por supuesto, .. esos "log's" para que veas que tipo de información ya se está recopilando por parte de tu servidor HTTP no son "orientados" a tu sistema de usuarios y aplicación. Se refieren a "páginas" más bien.

Algo más especialidado y orientado a tu aplicación deberías hacerlo como te menciono: cada script tuyo según clasifiques tus "módulos" o secciones de tu aplicación así tendrá que regitrar junto con el identificativo de tu usuario por donde pasa (dejando un registro de la referencia de la aplicación o acción que usó tu usuarios).

Uno de los temas más "complicados" es determinar cuando el usuario deja tu sistema, no puedes asegurar fielmente este hecho siempre (aunque uses soluciones "javascript" o similares) .. siempre hay un margen de error en ese dato que tendrás que asumir (por qué "bajar" ese margen de error implicaría un consumo de recursos del servidor enorme!).

Las sesiones ya te sirven para identificar a tu usuario y tal vez la aplicación/módulo en la que está el usuario .. datos que tomaras y tendrás que llevar a una BBDD registrandolos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 20/09/2006, 10:09
 
Fecha de Ingreso: febrero-2002
Mensajes: 59
Antigüedad: 22 años, 2 meses
Puntos: 0
Qué mal me explico... mi idea SÍ es guardar la información en una base de datos, jeje, sólo que no lo dije al principio.

Entonces los logs a los que te refieres no me sirven de nada, ya que lo que quiero no es controlar mi página, si no que otras personas puedan controlar a los usuarios registrados a través de un panel de control (lo que estoy haciendo es un curso online, para que quede más claro, y es importante saber si los alumnos visitan todas las páginas y si pasan un rato haciendo los ejercicios o no).

Se me ocurre que podría registrar la hora en la que se entra en cada página y también ir guardando en la base de datos qué páginas visita y en qué orden. Y restando la hora de entrada a la segunda página de la de la primera tendría el tiempo que ha estado en la primera. Para la última, si sale con "cerrar sesión" lo tendría y si no, pues le asignaría una cifra que yo considere oportuna para estos casos y listo.

Si se os ocurre alguna idea sigo abierto a recomendaciones o lo que sea.

Gracias de nuevo, Cluster.
__________________
Gatorrollo
http://www.diegoml.com
  #7 (permalink)  
Antiguo 20/09/2006, 11:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Más o menos sería eso ..

El tiempo o margen de error que tendrás cuando tu usuario no salga por tu "cerrar sesión" le suelen llamar "tiempo de inactividad" .. lo puedes ver implementado (el manejo de estas situaciones) en scripts de gestión de usuarios "en línea" (en las FAQ's del foro de PHP y/o del sub-foro de POO tienes ejemplos). Se basan en cálculos de fechas simplemente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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




La zona horaria es GMT -6. Ahora son las 03:22.