欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-09 09:42:37
...
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看看,
cookie封存登录信息  登录成功后setcookie是有值  关闭浏览器在进首页就读取不到值  求解

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频