Foros del Web » Programando para Internet » PHP »

El array $_SESSION[] se vacía

Estas en el tema de El array $_SESSION[] se vacía en el foro de PHP en Foros del Web. Hola a todos, Tengo un problema que no me deja dormir, es el siguiente: Estoy trabajando con sesiones y al pasar la variable de sesión ...
  #1 (permalink)  
Antiguo 08/11/2007, 06:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
El array $_SESSION[] se vacía

Hola a todos,

Tengo un problema que no me deja dormir, es el siguiente:

Estoy trabajando con sesiones y al pasar la variable de sesión de una página a otra su contenido se borra y el fichero de sesión pasa de 1KB a 0 KB.
El código es el siguiente:

****************************PAG 1 FORMULARIO***************

<form name="usuario_form" method="post" action="comprobar_acceso.php" onSubmit="return vacio(this)">
<p align="left"><span class="Estilo19"><span class="Estilo20"><label><strong>Nome </strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;</label>
</span> </span>
<input name="usuario" type="text" size="24" title="Usuario ou administrador" maxlength="20">
<span class="Estilo20">
<label><strong>Contrasinal</strong></label>
</span>
<input name="contrasinal" type="password" size="24" title="Contrasinal" maxlength="20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;
<input name="verificar" type="submit" value="Verificar" align="baseline">
</p>
</form>

************************************************** **********

**********PAG 2 COMPRUEBA SI EL USUARIO EXISTE EN LA BD**********

<?php
session_start();
$_SESSION['S_usuario']=''; // Aquí el fichero de sesión pesa 1 KB
?>

while ($tuplaAdmin = mysql_fetch_array($resultadoAdmin)){

$Name = $tuplaAdmin[login];
$Pwd = $tuplaAdmin[contrasinal];
if ($_POST['usuario'] == $Name and $_POST['contrasinal'] == $Pwd){
$atopadoAdmin=true;
$_SESSION['S_usuario']=$Name;
}
}

************************************************** *************


*******************PAG 3 VISUALIZAR DATOS**********************

<?php
session_start();
$usu=$_SESSION['S_usuario'];

if(!isset($usuario)){
$_SESSION=array();
session_destroy();
header ('Location: inicio.php');
}
?>

<?php echo ($usu); ?>

************************************************** *************

//LO VISUALIZA LA PRIMERA VEZ, PERO EN ESTE PUNTO EL FICHERO DE SESIÓN SE BORRA, PESA 0 KB. (Y si edito el fichero introduciendole la variable funciona una vez pero se vuelve vaciar..)


Espero me ayuden, muchas gracias de antemano
  #2 (permalink)  
Antiguo 08/11/2007, 06:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: El array $_SESSION[] se vacía

En el paso 3, tienes un codigo que borra la sesion (session_destroy()), ¿has comprobado si ese codigo se ejecuta? Si se ejecuta, ya sabes quien borra la sesion, y tienes que mirar porque se ejecuta ese codigo cuando no debe. Por ejemplo, quizas el

if(!isset($usuario)){

esta mal porque no veo la variable $usuario creada en ningun sitio del paso 3. quizas querias poner $usu, que si la creas.
  #3 (permalink)  
Antiguo 08/11/2007, 06:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: El array $_SESSION[] se vacía

Hola,

si la variable en el if es $usu, no me he dado cuenta, pero eso no es el fallo, con session_destroy() te confirmo que sí la destruye y está comprobado que el fichero desaparece de la carpeta /sessions, y también está comprobado que el if funciona perfectamente.
Que puede ser entonces....
Gracias por tu tiempo
  #4 (permalink)  
Antiguo 08/11/2007, 06:25
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: El array $_SESSION[] se vacía

El problema no es que se destruya la sesión, si no que el array $_SESSION se vacía pero la sesión sigue existiendo en la carpeta /sessions...
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 20:38.