cookie和session使用

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'));
}
原文地址:https://www.cnblogs.com/Renyi-Fan/p/9020527.html