yii2版本:2.0.7
1.使用Yii::$app->response->cookies的add方法插入cookie项时(remove方法一样),后面代码不能有exit ,die等语句,
如果要exit,die,需要在执行前加上Yii::$app->response->send();
原因:Yii::$app->response->send();会调用sendHeaders方法,该方法会把cookie发送给浏览器 (代码在yii/web/Response.php)
2.cookie的key不要用数字,数字字符串也不行,插入可以,但是读取就读不了
原因:Request的loadCookies方法会过滤掉 (代码在yii/web/Request.php)
//注意此处是request $cookies = Yii::$app->request->cookies; //判断是否登陆过 $xwhf_user = $cookies->get('xwhfUser');
$cookie = Yii::$app->response; $cookie->cookies->add(new \yii\web\Cookie([ 'name' => 'xwhfUser', 'value' => $aes->encrypt($uid . "|" . $telephone), 'expire' => time() + 3600 ])); $cookie->send();
GET是request,ADD是response