Foros del Web » Programando para Internet » PHP »

Problema al cerrar sesion

Estas en el tema de Problema al cerrar sesion en el foro de PHP en Foros del Web. Saludos: Tengo un problema muy curioso con las sesiones en php. El caso es que el usuario me loguea correctamente, pero al hacer un logout, ...
  #1 (permalink)  
Antiguo 16/06/2006, 06:08
 
Fecha de Ingreso: febrero-2006
Ubicación: Elche (Alicante - España)
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta Problema al cerrar sesion

Saludos:

Tengo un problema muy curioso con las sesiones en php.

El caso es que el usuario me loguea correctamente, pero al hacer un logout, no se porqué la sesión no se cierra y se mantiene abierta.

Os paso el código de los archivos de logueo y cierra de sesion.

login.php
Código PHP:
session_start();
$usuario_existe=0;
if(
$_POST['txtusuario']=="miusuario" && $_POST['txtpass']=="mipass")
    
$usuario_existe=1;
if (
$usuario_existe!=1)
{
    
header("Location: ".$_SERVER['HTTP_REFERER']);
    exit();
}
else
{
    
$_SESSION['sess_registrado']="SI";
    
$_SESSION['sess_id_usr']=$_POST['txtusuario'];
    
    
header("Location: pagina_entrada.php");
    exit();

logout.php
Código PHP:
session_start();
$Idioma_Web=$_SESSION['idioma_web'];
session_unset();
session_destroy();
session_start();
$_SESSION['idioma_web']=$Idioma_Web;
header("Location: ".$_SERVER['HTTP_REFERER']);
exit(); 
Despues de pasar por el archivo logout.php, las variables de sesión $_SESSION['sess_registrado'] sigue valiendo "SI" y $_SESSION['sess_id_usr'] sigue valiendo $_POST['txtusuario'].

Solo comentaros que no me desloguea en servidores bajo Win 2003 Server. Eso si, la configuración de PHP es idéntica, lo único que cambia es que en el Win 2003 Server funciona bajo ISS y el php se ejecuta como cgi.

Diganme a ver si se le ocurre algo de lo que podria estar ocurriendo, porque la verdad es que este problema ya me está trayendo de cabeza.

Un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 16/06/2006, 15:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo que haces en logout.php no es técnicamente correcto ..

El inico de una sesión (session_Start()) se hace por script .. no se inicia o cambia de sesión cuando gustes en el flujo de un script en curso. Es decir, .. el segudo session_start() no actuará . .continuas en la misma sesión.

Session_destroy() efectivamente destruye la sesión en la próxima iteracción con el servidor .. ahí veras el cambio efectuado.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:46.