Ver Mensaje Individual
  #12 (permalink)  
Antiguo 21/04/2014, 11:45
Avatar de Dalam
Dalam
 
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: ¿Contar el tiempo de un usuario que lleva conectado?

como te dijo zyxer es mejor mediante ajax.
A diferencia yo lo haria mediante comprobacion de peticiones, osea que cuando cargues la pagina mediante ajax haga una peticion al server y mediante una tabla en la base de datos hacer un update.
Por ejemplo, configuras tu script js para que haga una peticion de actualizacion cada 2 minutos, luego es solo cuestion de ir actualizando el contador de tiempo por cada llamada ajax que se reciba y si el tiempo total es igual a tus 30 minutos o lo que desees, que permita realizar acciones y si no es asi que actualice el contador de tiempo. Tambien para seguir actualizando el contador de tiempo desactivar los vinculos mediante js y si se pulsa alguno que antes de cambiar de pagina que mande una peticion de actualizacion a tu server, por que si no pasan los 2 minutos no sera computado el tiempo.

Respecto a lo de mirar si sale de la pagina debes hacerlo mediante javascript, no solo puedes comprobar que se marche de la pagina sino que tambien si cierra el navegador o no esta activa la pestaña en la que se muestra tu pagina.
Una opcion mas acertada seria que compruebes que halla actividad de raton o chequear eventos hover o algo por el estilo.
Todas esas comprobaciones debes de mirar cual se adapta a tus necesidades.

Como nota aparte, te digo que las peticiones javascript pueden ser manipuladas por el usuario, asi que no estaria de mas que guardaras alguna comprobacion de tiempo en el servidor, para evitar que te envien peticiones falsas.

Si no tienes problemas con el trafico de tu pagina podrias poner el contador de actualizacion en pocos segundos, como por ejemplo 10 segundos.
__________________
http://www.roglastudios.es

Última edición por Dalam; 21/04/2014 a las 11:51