
La variable de sesión desaparece despues del header
Publicado por Diego (7 intervenciones) el 15/02/2023 12:38:04
Buenos días a todos.
Tengo un código el cual hace lo siguiente:
Si el inicio de sesión (con usuario y password desde la base de datos encriptada) son correctos, entonces $_SESSION['init']=1 y redirige la página al index. Con el valor "1" en la variable de sesión, habilita los menú extras en el menú, que son funcionalidades para los dueños de la página. El inconveniente surge cuando quiero redirigir la página.
Verifiqué, y el sript hace la verificación en la base de datos, coloca el "1" en la variable global $_SESSION['init'] pero cuando redirige la dirección al "index.php" , la variable $_SESSION['init'] se borra y aparece como vacía.
Puse varios "echo" para ver que efectivamente logueaba y cargaba el valor a la variable global.
La función session_start(); está puesta en todas las páginas. Lo probé en casa con mi servidor y funcina correctamente. Pero cuando lo hago en el hosting, no funciona. Creo que se está saliendo la sesión cada vez que utilizo la función header().
Aqui el pedacito de código:
He buscado por todos lados pero sigue sin funcionar. Me podrían ayudar por favor?
Muchísimas gracias
Tengo un código el cual hace lo siguiente:
Si el inicio de sesión (con usuario y password desde la base de datos encriptada) son correctos, entonces $_SESSION['init']=1 y redirige la página al index. Con el valor "1" en la variable de sesión, habilita los menú extras en el menú, que son funcionalidades para los dueños de la página. El inconveniente surge cuando quiero redirigir la página.
Verifiqué, y el sript hace la verificación en la base de datos, coloca el "1" en la variable global $_SESSION['init'] pero cuando redirige la dirección al "index.php" , la variable $_SESSION['init'] se borra y aparece como vacía.
Puse varios "echo" para ver que efectivamente logueaba y cargaba el valor a la variable global.
La función session_start(); está puesta en todas las páginas. Lo probé en casa con mi servidor y funcina correctamente. Pero cuando lo hago en el hosting, no funciona. Creo que se está saliendo la sesión cada vez que utilizo la función header().
Aqui el pedacito de código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if( $_SESSION['init']<>1){
header('Location: index.php'); //Si el inicio
}else{
echo "Hola ".$_SESSION['nombre']." ".$_SESSION['apellido'];
echo $_SESSION['init'];
session_write_close();
header('Location: index.php');
die();
exit;
ob_end_flush();
session_regenerate_id(true);
}
He buscado por todos lados pero sigue sin funcionar. Me podrían ayudar por favor?
Muchísimas gracias
Valora esta pregunta


0