Ver Mensaje Individual
  #8 (permalink)  
Antiguo 17/02/2010, 21:58
apustilnik
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 15 años, 2 meses
Puntos: 6
Respuesta: Sistema de usuarios online

ya logre resolver el problema del logout.
lo que hice es que cuando se cierra la session elimine de la baste el nombre de usuario, que a su vez está guardado en una cookie al momento en que el usuario hace un login.
entonces: cuando el usuario hace un login, o bien se registra un nuevo usuario, se crea una cookie con su nombre de usuario (en mi caso le doy una duración de 1 año) y tambien se ingresa el nombre de usuario en una base de datos, que es la que me va a indicar si el usuario se encuentra online o no, por ejemplo haciendo la siguiente consulta:
$consulta= "select * from online where username= '".$_SESSION['username']."'";
$result= mysql_query($consulta);
$num= mysql_num_rows($result);

if ($num)
echo "online";
else
echo "offline";

con esto logramos hacer dicha comparación.
ahora, para eliminar el usuario de la base (suponiendo que el usuario sale de la página sin hacer logout) podríamos hacer lo siguiente:

if (!$_SESSION['username']) /*$_SESSION['username'] es el nombre que le di a la variable de sesion de usuario al crearla*/
{
$consulta1= "delete from online where username= '".$_COOKIE['username']."'";
$result1= mysql_query($consulta1);
}
con esto logramos borrar d ela base online el usuario, en caso de que la session finalice
espero haberles sido de ayuda y no haberlos confundido con el codigo.
saludos,
ariel