Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2008, 18:39
licu
 
Fecha de Ingreso: noviembre-2007
Mensajes: 28
Antigüedad: 16 años, 6 meses
Puntos: 0
No actualiza la base de datos

Hola, en un sistema que estoy haciendo tengo al inicio una pagina en la que el usuario ingresa nombre y contraseña, de ser correctos en la base de datos en su campo estado le pongo "on" y creo variables de sesion además le mando la pagina principal en donde tengo un frame de la siguiente manera

/********index.php****************/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="1,*" cols="*" framespacing="0" frameborder="no" border="0" bordercolor="#F1F3F8">
<frame src="../frame.php" name="topFrame" scrolling="NO" marginwidth="0" marginheight="0" allowtransparency="true">
<frame src="menu_almacen.php">
</frameset><noframes></noframes>
<body>
</body>
</html>

La pagina ../frame se encuentra de la siguiente manera

/**********frame.php*****************/"no se me ocurrio otro nombre"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
function cerrar_sesion(){
window.open("destroy.php");
//window.location.href='destroy.php';
}
</script>
</head>
<body onUnload="cerrar_sesion();">
</body>
</html>

y en el archivo menu_almacen.php se encuentra propiamente dicho el menu con el que interactua el usuario.

El usuario puede navegar por el menu sin problemas (sin que se destruya la sesion) y cuando cierra el navegador con la X entonces se ejecuta lo que hay en el archivo frame.php, el cual manda llamar al archivo destroy.php que destruye la sesion y cambia el estado en la base de datos a "off" segun sea el usuario, todo lo hace perfecto en la maquina en donde estoy programando y además tengo la BD, sin embargo al accesar desde una pequeña red que tengo instalada al cerrar el navegador desde la X se ejecuta frame.php y porlo tanto destroy, pero no me modifica el estado en la base de datos... Espero me puedan ayudar, les dejo tambien el codigo que hay en destroy.php, y de antemano por las respuestas gracias
/************destroy.php****************/
<?php
session_start();
$idUser = $_SESSION[id];
session_destroy();
include ("conect/conec.php");
$link=conectar();
mysql_query("update usuario set conectado = 0 where clave = '$idUser'",$link);
echo '<script> location = "index.php" </script>';
?>