
02/05/2012, 09:05
|
 | | | Fecha de Ingreso: abril-2012 Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 11 meses Puntos: 97 | |
Respuesta: Mostrar usuarios que han iniciado sesion puedes crear el campo 'online' como tu dices o bién una tabla a parte 'usuarios_online', con los campos id,usuario,online. Seria quizá más limpio, pero mas costoso a nivel de programación.
este campo, 'online', en lugar de guardarte 0/1, puedes guardar en él la fecha/hora de conexión del usuario.
al hacer login, asignas la fecha/hora al campo 'online' y cuando el usuario le de al boton de 'cerrar', asignas null a este campo.
Los usuarios conectados son aquellos que tienen 'online' informado y, además, 'ahora'-'online' < 30 minutos (p.ej)
...pero mucha gente no le da al boton cerrar, simplemente, se van de la página. Este és el motivo de guardarte la fecha/hora y mirar la diferencia.
Lo bueno seria darle a la sesion una caducidad de, por ejemplo, 30 minutos y poder capturar el 'evento' de cierre automático de sesion y actualizar a null el campo 'online'. Pero eso (capturar el evento) no tengo ni idea de como hacerlo.
Busca por google, hay un monton de ejemplos de como hacer eso y de como trabajar con fechas.(p.ej. http://aurea.es/2007/09/21/calcular-en-mysql-la-diferencia-entre-dos-fechas-dadas/)
Saludos. |