博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP/Yii2操作Cookie,常见问题以及注意事项
阅读量:7141 次
发布时间:2019-06-29

本文共 1090 字,大约阅读时间需要 3 分钟。

设置Cookie

PHP

setcookie("name", "Larry",time()+3600

Yii2

$cookies = Yii::$app->response->cookies;$cookies->add(new \yii\web\Cookie([     'name' => 'name',     'value' => 'Larry',     'expire'=>time()+3600]));

创建名为nameCookie,赋值为Larry,并且规定该Cookie一小时后失效

expire参数是一个UNIX时间戳,如果设置为0,或省略,该Cookie将在浏览器关闭时消失

获取Cookie

PHP

$name=$_COOKIE["user"]

Yii2

$cookies = Yii::$app->request->cookies;//注意此处是request$language = $cookies->get('user', 'defaultValue');

检查Cookie

PHP

if(isset($_COOKIE["user"])){

Yii2

$cookies = Yii::$app->request->cookies;if (isset($cookies['user'])){if ($cookies->has('user')){if (isset($cookies['user'])){

删除Cookie

PHP

setcookie("user", "", time()-3600);//把失效日期设置为过去1小时unset($_COOKIE['user']);

Yii2

$cookies = Yii::$app->request->cookies;$cookies->remove('user');

常见问题

  • Cookiekey不能含“.” 符号,会被解析成_,导致具有以上符号的key获取不到Cookie的bug

  • 区分Yii2中 Yii::$app->request->cookies 和 Yii::$app->response->cookies 不仔细容易直接复制粘贴了。

    1.如果把第一个用来设置Cookie,会报错:The cookie collection is read only

    2.如果把第二个用来获取Cookie,程序正常执行未发生异常,但会获取不到Cookie,不容易察觉。。。

  • Cookiekey区分大小写

转载于:https://www.cnblogs.com/yhdsir/p/5181791.html

你可能感兴趣的文章
由一个简单的String c=a+b的Java问题引发一点想法
查看>>
孤儿进程与僵尸进程【比较】
查看>>
4、您为这个网络适配器输入的IP地址 x.x.x.x已经分配给另一个适配器
查看>>
windows将环回口ip设置子网掩码全为255(LVS中Windows作为真实主机(RealServer)时的设置方法)...
查看>>
android:minSdkVersion 版本 标示
查看>>
python模块 时间
查看>>
查询EBS 11i 用户名密码
查看>>
shell脚本创建文件
查看>>
9个杀手级 JVM 编程语言
查看>>
Exchange Server 2013 系列三:部署规划
查看>>
用IP地址添加网络打印机
查看>>
ActiveMQ与RabbitMQ使用camel集成
查看>>
A主机让B主机做它的web服务器
查看>>
shell脚本中if判断,if判断条件
查看>>
RabbitMQ安装方法总结如下:
查看>>
如何查看dd的拷贝进度
查看>>
我的友情链接
查看>>
项目管理软件achiveo
查看>>
参考资料--超链接
查看>>
Flume结合Spark测试
查看>>