Ayuda con los handlings de conexion!

Ezequiel
07 de Marzo del 2004
Que tal, soy nuevo en el foro y tengo una duda que espero puedan ayudarme:

Estoy terminando de programar un script de chat en php. El mismo trabaja con sesiones. Mi problema es como detectar que un usuario ha dejado la pagina del chat, y en consecuencia ejecutar una serie de comandos como por ejemplo para eliminar la sesion, y borrarlo de la tabla de usuarios en linea.
Yo utilizo un script como el que se detalla a continuacion:

while(!connection_aborted())
{
..script que va mostrando mensajes del chat
}
.. Luego aqui pongo los comandos para eliminar la sesion, borrar este user de la tabla de usuarios on line...

#Borramos de la base de usuarios online al usuario que dropeo:
$query = "DELETE FROM ch_online WHERE sessionname = '".$_SESSION['useronline']."'";
mysql_query($query) or die(mysql_error());

#Eliminamos la sesion del usuario que dropeo:
session_unset();
session_destroy();

Pero cual es el problema... que por ejemplo, salgo del chat haciendo click en algun vinculo que me lleva a otra pagina del mismo sitio, y cuando vuelvo a hacer un click en la opcion para entrar al chat y pongo de nick el usuario anterior que supuestamente deberia estar eliminado, me dice que esta en linea... por lo que me da a pensar que no solo no se elimino la sesion, sino que tampoco se ejecuto la consulta SQL que lo elimina. Alguna idea??

Desde ya muchas gracias! Saludos.

rccroot
07 de Marzo del 2004
mira a ver que pasa con la tabla de usuarios,
abrela con algun administrador a ver que tiene

de paso mira mi chat

en
http://myphp.webcindario.com