Foros del Web » Programando para Internet » PHP »

El contenido del array $_SESSION[] se borra

Estas en el tema de El contenido del array $_SESSION[] se borra en el foro de PHP en Foros del Web. Hola amigos, Tengo un "pequeño" 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, 11:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
El contenido del array $_SESSION[] se borra

Hola amigos,

Tengo un "pequeño" 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 pero la sesión no se destruye.
El código es el siguiente:

****************************FORMULARIO DE LA PAG1***************

<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 comprobar_acceso.php********************

//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;
}
}

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


*******************PAG3 VISUALIZAR DATOS**********************

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

if(!isset($usu)){
$_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 el valor de la variable funciona una vez pero se vuelve borrar.. )


Espero me ayuden, muchas gracias de antemano
  #2 (permalink)  
Antiguo 08/11/2007, 12:30
 
Fecha de Ingreso: septiembre-2007
Mensajes: 8
Antigüedad: 12 años, 2 meses
Puntos: 0
Re: El contenido del array $_SESSION[] se borra

Hola,

lo primero que veo es que en la primera pagina no haces un session_start();

¿lo has tenido en cuenta?
  #3 (permalink)  
Antiguo 08/11/2007, 12:32
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.654
Antigüedad: 14 años, 5 meses
Puntos: 88
Re: El contenido del array $_SESSION[] se borra

pues la verdad no se a que se deba, pero te dejo como yo lo haria.
espero que te de una idea cuando menos.
****************PAG 2 comprobar_acceso.php********************
Código PHP:
session_start();
//esta linea no es necesaria
//$_SESSION['S_usuario']=''; // Aquí el fichero de sesión pesa 1 KB
    ##aqui todo lo que esta relacionado a la consulta
//como solo debe de existir una sola coincidencia en la base de datos
//no es necesario que uses el while
if(mysql_num_rows($resultadoAdmin)>0){
    
$tuplaAdmin mysql_fetch_assoc($resultadoAdmin);
    
$Name $tuplaAdmin['login'];
    
$Pwd $tuplaAdmin['contrasinal'];
    
// no tienes por que comparar porque si viene de la consulta
    //significa que coinciden
    //if ($_POST['usuario'] == $Name and $_POST['contrasinal'] == $Pwd){
        
$atopadoAdmin=true;
        
$_SESSION['S_usuario']=$Name;
    
//}
    
else{
        
$_SESSION=array();
        
session_destroy();
        
header ('Location: inicio.php');
    }

*******************PAG3 VISUALIZAR DATOS**********************
Código PHP:
session_start();
echo 
$_SESSION['S_usuario']; 
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 08/11/2007, 13:24
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Re: El contenido del array $_SESSION[] se borra

Hola chuchoes,

Claro que he tenido en cuenta usar session_start() en la página de inicio pero, con él o sin él, sigue sin funcionar. Gracias de todas formas.


Hola eits!! gracias por tu tiempo,

Estoy de acuerdo contigo, pero en la última página, al visualizar el contenido de la variable de sesión (echo $_SESSION['S_usuario']), claro que lo visualiza, pero el fichero de sesión se vuelve a borrar (0 KB). Estoy en las mismas....

Necesito saber por que se borra...

Muchas gracias
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 07:33.