Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2006, 06:15
Jari
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 18 años, 2 meses
Puntos: 0
Comportamiento extraño de $_SESSION

Me estoy volviendo loco! (más de lo que ya estoy... :P). El caso es que tengo el siguiente código y cuando redirecciona a index.php, si el login es correcto, muestra la matriz $_SESSION correctamente con todos los valores asignados, pero cuando el login es incorrecto, aparece vacía (cuando debería aparecer el valor de $_SESSION['log'] = 1)!!! y lo más curioso es que cuando reviso el archivo de sesión (sess_) todo está correcto, el valor de log está allí!!! no lo entiendo!!! como es que está en el sess_ y no en $_SESSION?

Código PHP:
<?
   session_start
();
   include (
"connection.inc.php");
   
$user strtolower($_REQUEST['username']);
   
$pass $_REQUEST['password'];
   
$remember $_REQUEST['recordarme'];
   
$pass md5($pass);
   
$sql mysql_query("SELECT * FROM users WHERE user_nick = '".$user."' and user_pass = '".$pass."'")
             or die(
'Hay un error en la sql');
   
$result mysql_fetch_array($sql);
   unset(
$_SESSION['user_connected']);
   unset(
$_SESSION['user_id']);
   unset(
$_SESSION['user_rank']);
   unset(
$_SESSION['user_nick']);
   unset(
$_SESSION['log']);
   unset(
$_SESSION['reg']);
   if(
$result){
       
$text $result['user_id']."+".$result['user_rank']."+".$result['user_nick'];
       if(
$remember){
           
setcookie("swc","$text",time()+604800);
       }else{
           
setcookie("swc","$text");
       }
       
$_COOKIE["swc"]=$text;
       
$user_data explode('+',$text);
       
$_SESSION['user_connected'] = 1;
       
$_SESSION['user_id'] = $user_data[0];
       
$_SESSION['user_rank'] = $user_data[1];
       
$_SESSION['user_nick'] = $user_data[2];
       
$vars="var=l_success";
       
$_SESSION['log'] = 1;
       unset(
$text);
       unset(
$user_data);
   }else{
       
$vars="var=l_failed";
       
$_SESSION['log'] = 1;
   }
   unset(
$user);
   unset(
$pass);
   unset(
$remember);
   unset(
$sql);
   unset(
$result);
   
header('Location: index.php?'.$vars);
?>
Se me olvidava, tengo:
session.use_trans_sid = 1
register_globals = Off