php在yii2中的cookie用法

设置cookie

$cookies = Yii::$app->response->cookies; 
if (! empty ( $uid )) {
    $uCookie=$cookies->add(new Cookie([
      'name' => 'uid_ck',
      'value' =>$uid,
      'expire' =>time()+ 30*24*3600,
      'domain'=>'.yiwang.com'//作用域写字符串
  ]));
}

清除cookie

 $cookie =  Yii::$app->response->cookies;
 $cookie->remove('uid_ck');
如果以上方法清除不了你的cookie还可以再加上下边这个
$cookie =  Yii::$app->response->cookies;
$uCookie=$cookie->add(new Cookie([
  'name' => 'uid_ck',
  'value' =>'',
  'expire' =>time() - 30*24*3600,
  'domain'=>$domainCk
]));   

获取cookie

//检查是否存在该值,然后再获取
$cookies = Yii::$app->request->cookies;
if ($cookies->has('uid_ck')) {
  $openid = $cookies->get('uid_ck');
}

yii2清除不了cookie值,存不了cookie值

公众号设置的退出登录时不时不管用
yii2清除不了cookie值,存不了cookie值

1)发现同一个方法里因为既有设置cookie的也有获取cookie的地方,心想着上边用了,下边再覆盖这个变量名$cookies就可以了,但是发现不行,

以下是我出错源代码

$cookies = Yii::$app->request->cookies;
$openid = $cookies->get('optKey_open');//可以取到值
$cookies =  Yii::$app->response->cookies;//改为$cookie
$cookies->add(new Cookie([//存不了//改为$cookie就可以
        'name' => 'isNewUser',
        'value' => 1,
        'expire' => $setTime + 10,
        'domain' => $domainCk
]));

原因:设置存取的cookie变量同名了
2)还有一个是退不出登录
以下是我的出错源代码

$cookie = Yii::$app->response->cookies;
$a= $cookie->add(new Cookie([
        'name' => 'uid_ck',
        'value' => '',
        'expire' => time() - 30 * 24 * 3600,
        'domain' => $domainCk
    ]));
 $a=$cookie->add(new Cookie([
        'name' => 'optKey_open',
        'value' => '',
        'expire' => time() - 30 * 24 * 3600,
        'domain' => $domainCk
    ]));

就是因为同名$a,可以去掉"$a=",或者写成两个不同的变量名,同名可能覆盖或者像我这样的两个都设置不成功

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,455评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,719评论 11 349
  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 1,259评论 0 51
  • 什么是 Cookie “cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就...
    恩德_b0c2阅读 529评论 0 3
  • HTTP cookies,通常称之为“cookie”,已经存在很长时间了,但是仍然没有被充分理解。首要问题是存在许...
    NoFacePeace阅读 504评论 0 1

友情链接更多精彩内容