当前位置:首页 > 技术文档 > 正文内容

php header 之 Set-Cookie

admin9年前 (2017-07-09)技术文档1728

php设置cookie可以使用setcookie函数或header函数。使用header方式时候需要注意字符串的顺序,如果顺序不对,可能会出现意想不到的问题。正确的顺序为

name=value; [expires=date; [path=path]; [domain=domainname]; [secure]]

例如:在netingcn.com下设置一个名为cookiename,值为cookieValue,过期时间为一年的cookie

header("Set-Cookie: cookiename=cookieValue; expires=" . gmstrftime("%A, %d-%b-%Y %H:%M:%S GMT", time() + (86400 * 365)) .  '; path=/; domain=netingcn.com');

如果把domain、path放到expires前面,在firefox通过httpfox查看时,发现过期时间是“End Of Session”,但退出浏览器后重新打开,发现该cookie还是存在的,chrome显示的也是类似。虽说浏览器最终还是设置了一个一年过期的cookie,不过domain信息为当前页面的完整域,不是设置的顶级域。所以一定要注意顺序。

另外,如果用header的方式设置多个cookie,需要设置header的第二个参数为FALSE,下面是header函数的声明:

void header ( string string [, bool replace [, int http_response_code]] )

第二个参数replace 指明是替换掉前一条类似的标头还是增加一条相同类型的标头。默认为替换,但如果将其设为 FALSE 则可以强制发送多个同类标头。

浏览器请求的效果如下:

image.png


cookie保存:

image.png

分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:https://yuyunhe.cn/index.php/post/239.html

分享给朋友:

“php header 之 Set-Cookie” 的相关文章

如何快速去除代码前的行号

如何快速去除代码前的行号...

图文解说Navicat使用ssh方式连接远程MySql服务器

图文解说Navicat使用ssh方式连接远程MySql服务器

如何使用Navicat 8.0 for MySQL连接公司服务器的数据库,但我也是第一次接触这个软件,搞了半天也没连上,在网上找了很多解决的办法,其中就有使用ssh方式连接的,但写的不够详细,因此还是费了一番功夫,自己搞定的,不敢独享,特记录下来 与大家分享。首先,在Navicat的连接设置里选择S...

PHP数组和Json之间的转换

        之所以要用到Json,很多时候是因为使用ajax对象时,程序与JS函数之间的数据交互。因为JS不认识PHP中的数组,PHP也不认识JS中的数组或对象。Json很好的解决了这个问题。Json简介  ...

 PHP二维数组的矩阵转置

PHP二维数组的矩阵转置

<?php    $arr1 = array(               array(1,2,3),            &nbs...

php取整函数ceil,floor,round,intval函数的区别

开发过程中,遇到数据处理取整的时候,你会用哪个呢,小涛来介绍一下:PHP取整函数有ceil,floor,round,intval,下面详细介绍一下:1、ceil — 进一法取整说明float ceil ( float $value )返回不小于 ...     ...

阿里云上配置CentOS安装Git(小沐git安装命令全集整理版)

阿里云上配置CentOS安装Git(小沐git安装命令全集整理版)

yum install curl yum install curl-devel yum install zlib-devel yum install openssl-devel yum i...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。