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分钟后用户不再登录,
知道我做错了什么吗?非常感谢!
如上所述,您无法从设置的同一页面读取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)