设置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区分大小写

PHP/Yii2操作Cookie,常见问题以及注意事项的更多相关文章

  1. JavaScript 操作 Cookie

    转自作者:聂微东出处:http://www.cnblogs.com/Darren_code/      什么是 Cookie “cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器 ...

  2. Cookie介绍及JavaScript操作Cookie方法详解

    本文主要为大家简单介绍了以下Cookie的用途.运行机制,以及JavaScript操作Cookie的各种方法,总结的比较全面,希望能给大家带来帮助. 什么是 Cookie “cookie 是存储于访问 ...

  3. Skywalking部署常见问题以及注意事项

    Skywalking部署常见问题以及注意事项 Intro SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performanc ...

  4. activemq消息队列的使用及应用docker部署常见问题及注意事项

    activemq消息队列的使用及应用docker部署常见问题及注意事项 docker用https://hub.docker.com/r/rmohr/activemq/配置在/data/docker/a ...

  5. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  6. Jquery操作cookie,实现简单的记住用户名的操作

     一.jquery.cookie.js介绍  jquery.cookie.js是一个基于jquery的插件,一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cook ...

  7. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

  8. Asp.net操作cookie大全

    实例代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 ...

  9. ASP.NET 操作Cookie详解 增加,修改,删除

    ASP.NET 操作Cookie详解 增加,修改,删除 Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它 ...

随机推荐

  1. boost中全局命名锁的使用

    使用头文件相对位置为:boost/interprocess/sync/named_mutex.hpp 在程序中使用 boost::interprocess::named_mutex g_namedmu ...

  2. ZOJ 3963 Heap Partition set维护。给一个序列,将其划分成尽量少的序列,使每一个序列满足按照顺序构造二叉树,父母的值<=孩子的值。

    Heap Partition Time Limit: Seconds Memory Limit: KB Special Judge A sequence S = {s1, s2, ..., sn} i ...

  3. 在海思hisiv100nptl平台上交叉编译并安装SRS

    ./configure --with-arm-ubuntu12 && make 须要安装: apt-get installgcc-arm-linux-gnueabi     ,但hi3 ...

  4. grails 解决emoji标签存入mysql

    domain将存储emoji属性类型设置位byte[] class UserTest { byte[] nameBytes //存储emoji表情字段 Date dateCreated //grail ...

  5. Java基础06 组合(转载)

    在一个新类的定义中使用其他对象.这就是组合(composition).组合是在Java中实现程序复用(reusibility)的基本手段之一.   组合与"has-a" 一个对象是 ...

  6. RL for Robots

    1.Robot gains Social Intelligence through Multimodal Deep Reinforcement Learning 这篇文章使用DQN去训练一个机器人,使 ...

  7. 使用Salt-ssh部署Salt-minion之yum安装(一)

    一.RPM安装篇 使用salt-ssh功能要求客户端系统python版本2.6+ 1.salt-minion端环境: 系统:CentOS 6.5 64bit python版本:2.6.6 2.配置/e ...

  8. iOS ---APP更换应用图标logo

    iOS 10.3 加入了了更换应用图标的新功能,开发者可以为应用提供多个应用图标选择.用户可以自由的在这些图标之间切换,下面具体查看切换步骤. 1.先把你需要的所有图片都导入项目中(比例为1:1) 2 ...

  9. java访问权限修饰符,一张图搞清楚

    可横向,纵向进行比较记忆

  10. coreData笔记

    1.    CDVehicle *vehicle = (CDVehicle *)[[NSManagedObject alloc] initWithEntity:entity insertIntoMan ...