Foros del Web » Programando para Internet » PHP »

ayuda con contador online y sesiones.

Estas en el tema de ayuda con contador online y sesiones. en el foro de PHP en Foros del Web. Hola a todos, yo estoy armando una pagina donde solo pueden entrar aquellos que se logeen en un login de la misma. En el puse ...
  #1 (permalink)  
Antiguo 04/07/2009, 13:25
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
ayuda con contador online y sesiones.

Hola a todos, yo estoy armando una pagina donde solo pueden entrar aquellos que se logeen en un login de la misma.
En el puse para contar la gente online lo siguiente.

$online = mysql_query("update users set online='1' where username = '{$data[username]}' ")or die(mysql_error());

osea cuando se logean al usuario que se logeo le cambia la columna online por 1 y de esa forma en la pagina donde quiero mostrar la cantidad de gente online hago lo siguiente.

Código PHP:
<?php 
                $online 
mysql_query("select * from users where online = '1'") or die(mysql_error());
                
$contadormysql_num_rows($online);    
                echo 
$contador;
                
?>
de esta manera sensila se cuanta gente online hay, bueno ahora para saber cuando esta offline la person aque se logeo . al deslogear osea al apretar en el link para deslogear agregue lo siguiente.

session_start();
$online = mysql_query("update users set online='0' where username = '{$_SESSION[s_username]}' ")or die(mysql_error());
session_unset();
session_destroy();
mysql_close();

de esa manera vuelvo a darle valor 0 a la columna y queda como offline.
Bueno hasta ahi todo perfecto, ahora mi problema es, que pasaria si el usuario cierra el explorador directamente o deja de estar inactivo un tiempo y en ambos cosas se cierra la session sola?
no haria el update a 0 en la columna y quedaria online .
buen mi pregunta es como se podria hacer para hacer que si se cierra sola la session haga el update a 0 de la columna o algo para saber que esta offline verdaderamente?.

espero que se haya entendido, saludos y gracias..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:35.