我使用代码在页面上设置了Cookie:
$newCookie= new \yii\web\Cookie();
$newCookie->name='cookie_name';
$newCookie->value='test value';
$newCookie->expire = time() + 60 * 60 * 24 * 180;
$cookie=Yii::$app->getResponse()->getCookies()->add($newCookie);
但是当我在另一个页面上试图检查cookie是否已设置时,我无法获取cookie 价值:
if(Yii::$app->getResponse()->getCookies()->has('cookie_name')){
if(Yii::$app->getResponse()->getCookies()->getValue('cookie_name')){
echo "cookie available";die;
}
}
任何人都可以让我知道我在做什么错误???
非常感谢
微米。
答案 0 :(得分:4)
您应该使用请求组件来读取cookie:
if(Yii::$app->getRequest()->getCookies()->has('cookie_name')){
}
了解详情:http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html
yii \ web \ Request和yii \ web \ Response都通过名为cookies的属性维护一组cookie。前者中的cookie集合表示在请求中提交的cookie,而后者中的cookie集合表示将发送给用户的cookie。