I do not believe the PHP session

2

I have a problem with this code .. I receive the cookies correctly but when I want to assign those values to the sessions I do not believe them and I do not know why, any ideas ??

if (isset($_COOKIE["idusuario"]) && isset($_COOKIE["marca_aleatoria_usuario_dw"]))
{
   if (is_int($_COOKIE['idusuario'])&& is_int($_COOKIE['marca_aleatoria_usuario_dw']))
   {
      $iduser=$_COOKIE['idusuario'];
      $numero_cookie=$_COOKIE['marca_aleatoria_usuario_dw'];
      //Tengo cookies memorizadas
      //además voy a comprobar que esas variables no estén vacías
      $c= new Conexiones();
      if ($c->ComprobarCookieUser($iduser,$numero_cookie)==0) //no se pudo determinar si es el usuario.. entonces lo mandamos al index para que inicie sesion
      {
         echo "no encontre la cookie";
      }
      else 
      { 
         session_start();
         $_SESSION['idUsuario']=15;
         echo $_SESSION['idUsuario'];
      }
   }
}

//si las cookies estan vacias entonces compruebo si por lo menos inicio sesion sin recordar la misma
else {  if(empty($_SESSION['idUsuario']) && empty($_SESSION['usuario'])) // si las sessiones estan vacias entonces no puede estar en este sitio
       {header("Location:index.php");}

 }

ATTACHED part of the login.php in which I create the cookies

if($a->ConectarUser($_POST['user'],$_POST['pass'])==1)
    {

        if ($_POST["recordame"]=="1") //es que pidió memorizar el usuario
        {
        //busco el id del usuario que hizo Esto , lo saco del metodo ConectarUser, el cual ya creò una sesion con el idusuario
        $iduser=intval($_SESSION["idUsuario"]);

  //1) creo una marca aleatoria en el registro de este usuario
  //alimentamos el generador de aleatorios
  mt_srand (time());
  //generamos un número aleatorio
  $numero_aleatorio = mt_rand(1000000,999999999);
  //2) meto la marca aleatoria en la tabla de usuario
  //3) ahora meto una cookie en el ordenador del usuario con el identificador del usuario y la cookie aleatoria
  setcookie("idusuario", $iduser , time()+(60*60*24*365),'/');
  setcookie("marca_aleatoria_usuario_dw", $numero_aleatorio, time()+(60*60*24*365),'/');
        $a->cargar_cookie_user($numero_aleatorio,$iduser);

 }
header('Location: ../main.php');

 }
 else
    { echo  '<div style="width:auto;max-width:500px; height:330px;margin:0 auto;text-align:center;background-color: #FFBABA;border: 2px solid #D8000C;"><p style="margin:0 auto; padding: 50px 10px">No se pudo loguear</p><p style="margin:0 auto">Redireccionando..</p></div>';
          header('refresh:3;url=../index.php');
      }
    
asked by fer 07.05.2017 в 19:47
source

1 answer

1

You should indicate what error you get because this code is correct (well, you would need to close one of the brackets, but except for that which I suppose will be a typo, the code is fine).

    
answered by 07.05.2017 в 21:37