cookie不会设置

Ton*_*bet 0 php cookies setcookie session-cookies

这是一个关于我的旧问题的问题:cookie不会取消设置: cookie不会 在我忘记cookie的时候出现问题(但是设置'正确'),

现在问题解决了; cookie似乎没有设置

cookie'set':(不起作用)

setcookie("id",$data['id'], time()+3600*24*30,'/');
setcookie("alias",$data['nombre'], time()+3600*24*30,'/');
Run Code Online (Sandbox Code Playgroud)

cookie检查:(似乎工作)

    function sesion(){

    if(isset($_COOKIE['id']) && isset($_COOKIE['alias'])){
                    $_SESSION['logueado'] = true;
                    $_SESSION['id'] = $_COOKIE['id'];
                    $_SESSION['alias'] = $_COOKIE['alias'];

                    return true;  //THIS IS NEVER RETURNING TRUE
                }
if(isset($_SESSION['id']) && isset($_SESSION['logueado']) && $_SESSION['logueado'] == true){

                    return true;
                }
                 else{ return false;
    }



    }
Run Code Online (Sandbox Code Playgroud)

cookie未设置:(有效)

function cerrar_sesion(){
  session_start();
  $_SESSION['logueado']= false;
  $_SESSION['id']= NULL;
  session_unset();
  session_destroy();
  setcookie("id",false,time()-3600,"/");
  setcookie("alias",false,time()-3600,"/");
  unset($_COOKIE['id']);
  unset($_COOKIE['alias']);
}
Run Code Online (Sandbox Code Playgroud)

发生的事情是登录只能通过$ _SESSION工作,因此在没有活动30分钟后用户不再登录,

知道我做错了什么吗?非常感谢!

pla*_*gue 6

如上所述,您无法从设置的同一页面读取cookie.我看到你尝试使用ajax欺骗这个但我不相信这是一个有效的技巧,因为Ajax调用不会改变你仍然在的页面的状态.因此,您可以在使用setcookie的同时进行完全刷新或重定向,也可以在$ _COOKIE中定义所需的值,以便在同一页面上显示.像这样:

setcookie("id",$data['id'], time()+3600*24*30,'/');
setcookie("alias",$data['nombre'], time()+3600*24*30,'/');
$_COOKIE['id'] = $data['id'];  
$_COOKIE['alias'] = $data['nombre'];
Run Code Online (Sandbox Code Playgroud)