yii2设置cookie无效的解决方法

 Yii2   高蒙   阅读(2369)   评论(0)   2016-09-20 10:28:03    yii2 cookie cookie无效 


在学习的yii2框架cookies设置的时候,遇到很纠结的问题。就是我们在设置cookies时候,总是无效。怎么设置都是不对的。将手册上的代码拷贝下来依然是无效的。这是怎么回事?经过研究,找到了解决方法。

请看我的代码:前提是我默认配置好了cookies密钥。

$cookies = Yii::$app->response->cookies;
// 设置cookie有效期
$cookies->add(new \yii\web\Cookie([
    'name' => 'user_name',
    'value' => 'Larry555',
    'expire'=>time()+3600
]));
// 当前请求的cookie信息可通过如下代码获取
$cookiess = Yii::$app->request->cookies;
$cookie = $cookiess->get('user_name');
$language = $cookie->value;
echo $language;
die;

乍一眼看去,貌似没毛病啊,是不是?但是这样写是有问题的,不相信的朋友可以自己试试。那么正确的解决方法是什么呢?

//1.使用Yii::$app->response->cookies的add方法插入cookie项时(remove方法一样),后面代码不能有exit ,die等语句,
//如果要exit,die,需要在执行前加上Yii::$app->response->send();
// 解决设置cookies 获取不正确的问题
 Yii::$app->response->send();

这里是因为我在学习调试的过程中,人为的加上了die,exit等语句,所以,设置的cookies并没有发送到客户端,造成了每次获取的值都是不对的。

配置cookies的密钥的方法,文件地址\frontend\config\main.php

为什么要配置cookies密钥,官网已经说的很清楚了。如果不设置的话,在检验cookies是否正确的时候,会无效。

'components' => [
        'request' => [
    // ....
            'cookieValidationKey'=>'vd55bhr6j#fN', //参数随便填写
        ],
]



相关文章



我要评论


站长昵称:(*)

输入内容:


评论列表


高蒙

男,程序猿一枚

 

人生要是没有理想, 那跟一条咸鱼有什么分别。


关于我

  http://www.shuchengxian.com

高蒙个人博客是以PHP技术为主的程序员个人博客。博客主要发布php开发中遇到的问题以及解决办法,同时个人博客也分享网站模板素材,jquery插件等方面素材。


站点声明:相关侵权、举报、投诉及建议等,请发E-mail:936594075#qq.com(#替换成@)。

Copyright © 2018, www.shuchengxian.com, All rights reserved. 个人博客皖公网安备 34152302000022号 皖ICP备15015490号

关键词:个人博客,PHP博客,PHP博客程序,高蒙博客,高蒙个人博客,php程序员博客,程序员个人博客