Es una simple idea, tal vez no te guste. Ok, utilizas una función ajax para cambiar el valor en el campo de la tabla ejecutada por el evento onunload. Seguro ya haz probado eso y no se termina de ejecutar y por eso no funciona. Eso es natural, si se cierra la ventana se cancela la ejecución de los scripts. Pero si se ejecutaría si hicieras un alert. De este modo:
<body onunload="cambiarEstado();">
Código:
function cambiarEstado() {
url = 'proceso.php?cs=1';
ajx.open("GET", url, true);
ajx.onreadystatechange = function() {
if (ajx.readyState == 4) {
var rst = ajx.responseText;
if (rst == '1') alert('Se ha cerrado la sesión');
}
}
ajx.send(null);
}
Cuando colocas un alert si se termina de ejecutar el script y por eso el proceso ajax si termina y el valor en tu tabla puede volver a cero. Es probable que no te guste ese alert, en verdad nunca encontré otra solución. Espero que te sirva.