当前位置:Gxlcms > PHP教程 > cookie封存登录信息登录成功后setcookie是有值关闭浏览器在进首页就读取不到值求解

cookie封存登录信息登录成功后setcookie是有值关闭浏览器在进首页就读取不到值求解

时间:2021-07-01 10:21:17 帮助过:29人阅读

cookie保存登录信息 登录成功后setcookie是有值 关闭浏览器在进首页就读取不到值 求解
登录时cookie保存
		
if(empty($c)){
echo "不存在的用户名或者密码错误!";exit;
}else{
if(isset($_POST['checked']) && $_POST['checked']!=0){
setcookie('username',$c['username'],time()+60*60*24*7);
setcookie('id',$c['id'],time()+60*60*24*7);
}
//判断是否是ajax请求
if(isset($action)){
echo "登陆成功";
$_SESSION['user']=$c['username'];
}else{
$_SESSION['user']=$c['username'];
header("Location:/");
}
}

首页判断

public function index()
{
session_start();
print_r($_COOKIE);
if(isset($_COOKIE['id']) && isset($_COOKIE['username'])){
echo $_COOKIE['username'];exit;
$_SESSION['user']=$_COOKIE['username'];
}
$this->display();
}

cookie值找不到,再想请问下这样信息安全吗?怎么改进。
------解决方案--------------------
cookie使用错误
setcookie('username','username',time()+60*60*24*7);
setcookie('id','id',time()+60*60*24*7);
------解决方案--------------------
if(empty($c)){ ???
不知道你前面省略掉多少代码
既然是有条件进入 cookie 设置分支,那么你总得先确认该分支进入后再测试吧?
------解决方案--------------------

你看看这里是否执行。
if(isset($_POST['checked']) && $_POST['checked']!=0){
setcookie('username','ssssss',time()+60*60*24*7);
setcookie('id','40',time()+60*60*24*7);
}

------解决方案--------------------
关闭浏览器在进首页就读取不到值 求解
------cookie是保存在客户端随着你的浏览器关闭而消失的。
------解决方案--------------------
登陆成功以后,你是不是点了退出,然后关的浏览器啊?然后重新打开首页cookie就没了?
如果没点退出,建议你换其它浏览器看看是不是同样的结果……
一定不能登陆以后点退出再关浏览器哈~~
------解决方案--------------------
设置cookie的 path看看,

人气教程排行