Yii2.0 给浏览器添加cookie和获取cookie
1 1043 0 2019-07-26 23:03:58
有一个功能叫做记住上次登录的方式,能想到的就是在退出或者关闭客户端的时候,给本地加上cookie,在下次打开之前就获取上次存下的cookie来判断上次的登录方式是什么。
具体操作如下:
首先在退出之前,要给浏览器添加cookie:
// 添加cookie $last_login = 'WeChart'; $cookies = Yii::$app->response->cookies;// 做添加用,也可以读取 $cookies->add(new \yii\web\Cookie([ 'name' => 'last_login', 'value' => $last_login, ]));
在登录页面打开的时候,就获取cookie,如下:
// 读取cookie Yii::$app->request->enableCookieValidation = false; $last_login = Yii::$app->request->cookies->get('last_login'); // 仅能读取 $last_login_type = $last_login ? $last_login->value : ''; Yii::$app->request->enableCookieValidation = true;// 记得打开
这里要说明的是,假如你在打开验证的时候,你是获取不到保存的cookie的,也就是last_login,就算你直接获取$_COOKIE,里面会有last_login,但是也是经过加密后的,得到也没有用。如上操作可以获取后再打开验证。
但是为安全,Yii2官网还是强烈建议打开验证。
还有其他的关于cookie的操作,如:
// 删除cookie $cookies->remove('last_login');
更多可以查看Yii官网:cookie。
本文链接地址,转载请标注:
https://caohongyuan.com/article/120