Foros del Web » Programando para Internet » PHP »

Cuanto tiempo dura cada visitante en cada pagina

Estas en el tema de Cuanto tiempo dura cada visitante en cada pagina en el foro de PHP en Foros del Web. Saludos a todos, bueno aquí estoy con otra inquietud más, estoy tratando de monitorear las visitas a mi pagina, de forma que pueda saber, de ...
  #1 (permalink)  
Antiguo 25/06/2004, 08:10
 
Fecha de Ingreso: agosto-2003
Mensajes: 68
Antigüedad: 20 años, 8 meses
Puntos: 0
Cuanto tiempo dura cada visitante en cada pagina

Saludos a todos, bueno aquí estoy con otra inquietud más, estoy tratando de
monitorear las visitas a mi pagina, de forma que pueda saber, de donde viene, que pagina visita y cuanto tiempo dura en cada pagina. Pero se me ha hecho muy difícil, conseguir la función que me de fecha de salida del sitio.

Por ahora tengo el siguiente planteamiento:
1. Recojo el url de referencia y la fecha de entrada.
2. Inserto los datos a la base de dato y agrego el id del registro a session_register("$id").
3. Cuando el visitante entra a otra pagina de mi sitio se activa la SESSION_START();, verifico si el url de referencia es igual al del indicado en el id, si no es, actualizo los datos de fecha de salida en la base de datos correspondiente al id de la SESSION con la nueva fecha de entrada a la otra pagina, luego inserto otro item a la base de datos con los datos de la nueva pagina que visita y agrego un nuevo id a la SESSION.

Ok, este procedimiento lo repito cada vez que el visitante entra y sale de una pagina desde mi sitio, pero no se como hacer para actualizar la fecha de salida cuando el visitante deja mi sitio, ya que no consigo como hacer la comparación de salida.

Bueno no se si me entiendo, pero mucho le agradecería si me pueden ayudar con esto.

Gracias

Última edición por yoelis; 25/06/2004 a las 08:13
  #2 (permalink)  
Antiguo 25/06/2004, 10:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La fecha de salida .. tendras que basarte en "tiempos de inactividad" y que sea tu aplicación la que determine si ya no interactuó más con tu aplicación (no pasó de una página a otra) en X tiempo que definas (con su consiguiente "margen de error" que tendrá) ..

Es decir .. tendrás que asumir que para ver una página tu usuario va a estar un máximo de X tiempo... Si en ese intervalo (desde la anterior a la segunda) no es sobrepasado . .contabilizas el tiempo que se quedó en esa página si es mayor ..tendras que asumir que reingresó nuevamente al sistema.

Para "afinar" un poco más el sistema podrías guardar el SID de la sesión en curso y basarte en ese IDentificador + el ID de tu usuario que ya gestionas para saber que el movimiento de páginas es de la misma sesión.

Un saludo,
  #3 (permalink)  
Antiguo 25/06/2004, 11:19
 
Fecha de Ingreso: agosto-2003
Mensajes: 68
Antigüedad: 20 años, 8 meses
Puntos: 0
Gracias Cluter, entiendo, pero tengo una duda, por ejemplo alguien entra a mi pagina, pero decide ir a otro sito o cerrar el navegador, como puedo hacer para que en la sección de mi pagina tome ese tiempo y lo agregue a la base de datos correspondiente al id del usuario. Es decir, no entiendo como funciona eso del tiempo inactivo. Como hace el programa para decidir si esta activo o inactivo. ¿Existe alguna funcion especifica para esto?... Bueno de toda forma voy a tratar con algunas funciones que creo que puedan ser ...

Gracias
  #4 (permalink)  
Antiguo 25/06/2004, 15:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tu programa lo hace por tiempo pre-definido y calculando fechas ..

Por eso te decía que debes establecer un tiempo en el que consideres que si el usuario desde su última iteracción con el sistema (ese dato de fecha que actualizas en tu BD a cada petición de una página) ha pasado + de X tiempo (que defines tu) .. consideras (con su margen de error) que el usuario salió de la aplicación: cerró su navegador, se le apagó el PC .. hizo CTR+ALT+DEL, etc ... (no por tu "logout" donde podrías tener total control ..).

Si usas páginas HTLM .. tienes un evento de javascript: onUnload() (no sé hasta que punto compatible con los numerosos navegadores que existen) .. con ese evento podrías llamar (redireccionar/abrir) tu scripts actual de "logout.php" donde matas tu sesión de forma manual (con tus session_destroy()) y de paso controlar: actualizar tu campo de tu BD para la "fecha salida" de tu aplicación.

Pero, esto no es "fiable" y .. si el proceso sale (termina) en un scritp PHP .. no podrías controlarlo de esa forma.

Si buscas por el foro sobre "usuarios activos" veras muchos ejemplos que trabajan con ese "tiempo de inactividad" para determinar si se considera activo un usuario o no.

Un saludo,
  #5 (permalink)  
Antiguo 26/06/2004, 06:36
 
Fecha de Ingreso: agosto-2003
Mensajes: 68
Antigüedad: 20 años, 8 meses
Puntos: 0
Gracias nuevamente Cluster, tu explicación me ha ayudado mucho, es tan así que ya tengo listo el enfoque y la función que voy a utilizar. En cuanto lo termine te la muestro para que me de tu opinión.

Gracias.....
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 05:47.