Usuarios Online/Offline

Iniciado por Sinedra, 7 Marzo 2011, 03:55 AM

0 Miembros y 1 Visitante están viendo este tema.

Sinedra

Hola a todos, mi pregunta es la siguiente, como puedo determinar que usuarios estan online en mi web y como ir actualizando el script. No uso cookies, pero si obviamente sessions. se me ocurrio hacer un while que compare isset($_session[$id]) y recorra las id de todos los usuarios registrados y luego muestre los cuales la session exista. es correcto esto? se puede hacer asi o hay una mejor manera. Saludos!

Shell Root

Podrías agregar un campo a la base de datos, ESTADO, para generar una consulta fácilmente y mostrarlos.
Código (sql) [Seleccionar]
SELECT Nombre, Apellido
  FROM tblUsuarios
WHERE (ESTADO = 1);
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Feedeex

Cita de: Shell Root en  7 Marzo 2011, 03:59 AM
Podrías agregar un campo a la base de datos, ESTADO, para generar una consulta fácilmente y mostrarlos.
Código (sql) [Seleccionar]
SELECT Nombre, Apellido
  FROM tblUsuarios
WHERE (ESTADO = 1);


Si. Estado cambiaría a Online en cuanto logea, pero si cierro el navegador desde la 'X' sin hacer logout quedaría Online siempre.
Encontré algo que puede servir de ayuda:

http://www.peoplecnc.com/blog/2007/11/19/php-como-desplegar-numero-de-usuarios-en-linea/

Marot77

Algun administrador que te ayude hacer lo de cuando le des a la "X" ponga modo offline no siempre modo online,creo qu sería la manera más facil de encontrar la solucion.





Castg!

Método unload: http://www.w3schools.com/jquery/event_unload.asp
Al cerrar el navegador, conectas a una página externa que se encargue de poner al usuario offline. El problema entra en que si tengo 3 pestañas abiertas y cierro una, qedaría offline. Para eso, en cada pagina de tu web, tendrías que agregar algún timer en JS que se encargue de refrescar el estado (si se está offline, ponga online; si se esta online, no hace nada; si se está online con inactividad de x tiempo, inactivo).

Otros datos interesantes:

.mokk.

Tambien podrias hacerlo por tiempo.

Castg!

Citarsi se está online con inactividad de x tiempo, inactivo).
Te referis a eso? o que expire el tiempo del estado conectado..?

bomba1990

puedes hacer que en la bd insertas la fecha y la hora y revisas cual es la diferencia de tiempo? si lleva mas de 5 min sin actividad lo pones ofline.
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

Castg!

O sino, tener un temporizador en javascript de x tiempo, que al finalizar, ponga el usuario como inactivo. Ahora, si hay actividad (mover el mouse en toda la página, escribir en algun campo de texto, etc.) reiniciar este temporizador... Se entiende?

Como veras, tenes distintas formas y parámetros de hacerlo. Por mi parte yo te recomiendo tener 3 estados: Conectado, Desconectado, Inactivo...

Shell Root

@Feedeex, pues miralo como el foro. Cierra el navegador y verás que no se desconecta. Podrías hacerlo con COOKIES y darles un limite de tiempo.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.