PHP - Multisesion

   
Vista:

Multisesion

Publicado por eltiolopez (4 intervenciones) el 08/09/2009 02:55:35
Hola.
Estoy usando Apache + PHP + MySQL, y tengo una duda acerca de evitar multisesiones para un usuario. Para ello, tengo en la base de datos, en la tabla "usuarios" un campo q recoge si el usuario está conectado en ese instante o si no. Quisiera saber si es posible crear un script o algo así para que si por ejemplo el usuario cierra el navegador, o el tiempo de sesión de éste expira, se ejecute para cambiar ese valor de mi base de datos.
Gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Multisesion

Publicado por robobo (1 intervención) el 08/09/2009 11:02:41
A las dos cosas si.

Para controlar si lo hace cerrando el navegador, lo tendrás que hacer con javascript y el evento onclose el body.

Para un script que controle el tiempo de sesion ya son más las opciones, puedes programar algún job en algún lenguaje que quede checando cada cierto tiempo. El lenguaje tiene que ser del lado del server.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Multisesion

Publicado por Diego Romero (1450 intervenciones) el 08/09/2009 18:04:16
Lamento disentir con robobo pero el evento onClose de JavaScript se ejecuta cuando se cierra una ventana, pero el usuario podría tener dos o más ventanas abiertas con páginas del mismo sitio, entonces no estaría abandonando el sitio ¿cierto?.

Pues lamentablemente no se puede saber cuándo el usuario ha abandonado el sitio. Una solución es la que propuso robobo usando Ajax que cada cierto tiempo avise al servidor que el usuario todavía está allí.

Para casos como este es que se inventaron las cookies. La idea es que en todas las páginas lo primero que hagas es verificar si la cookie existe y si corresponde con el usuario que supuestamente está logeado. En la base de datos tendrías que almacenar la IP del usuario y relacionarla con la cookie de ese usuario. Como la cookie tiene "fecha de vencimiento" puedes saber si la sesión de ese usuario está activa aún o no. Es la mejor solución que se me ocurre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Multisesion

Publicado por eltiolopez (4 intervenciones) el 08/09/2009 20:48:44
Gracias por vuestras respuestas, veré lo que puedo hacer...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar