cookie和session使用
一、总结
1、需要使用的场景:验证用户是否登录时 获取用户的用户名时 退出登录时
2、cookie和session在什么时候记录:在登录成功之后
二、cookie和session使用
1、在index(前台)模块登录成功的时候记录cookie和session
if($res){ //5、登录成功,将数据存入cookie和session //5.1、将登录信息写入session session('id', $res['id']); session('username', $res['username']); session('password', $res['password']); //5.2、设置cookie cookie('id', $res['id'], 3600); cookie('username', $res['username'], 3600); cookie('password', $res['password'], 3600); if($data['status']) $this->success("即将跳转到老师界面!!",url('teacher/index/index')); else $this->success("即将跳转到学生界面!!",url('student/index/index'));}
2、其它用到cookie和session的位置
页面 {$Request.session.username}
控制器 session('username')
3、权限验证(Base控制器)中需要来判断系统中是否有cookie和session来确定是否已经登录了系统
public function _initialize(){ if(!session('username')){ //如果cookie存在的话 if(cookie('username')){ //设置session session('id', cookie('id')); session('username',cookie('username')); session('password', cookie('password')); // dump(cookie('username'));die; return; } $this->error('您尚未登录系统',url('index/login/login')); }}
4、退出登录时销毁cookie和session中的数据
public function logout(){ session(null); cookie('id', null); cookie('username', null); cookie('password', null); //退出登录清空session之后要成功跳转 $this->success('退出系统成功',url('index/index/index'));}