加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php中的cookie的简单示例

发布时间:2020-05-25 06:22:40 所属栏目:PHP 来源:互联网
导读:php中的cookie的简单示例

对php中的cookie感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编两巴掌来看看吧!
cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。
PHP在http协议的头信息里发送cookie,因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似。

1.1 设置cookie:
可以用 setcookie() 或 setrawcookie() 函数来设置 cookie。也可以通过向客户端直接发送http头来设置.

1.1.1 使用setcookie()函数设置cookie:
bool setcookie ( string name [,string value [,int expire [,string path [,string domain [,bool secure [,bool httponly]]]]]] )
name: cookie变量名
value: cookie变量的值
expire: 有效期结束的时间,
path: 有效目录,
domain: 有效域名,顶级域唯一
secure: 如果值为1,则cookie只能在https连接上有效,如果为默认值0,则http和https都可以.

例子:

<?php
$value = 'something from somewhere'; setcookie("TestCookie",$value); /* 简单cookie设置 */
setcookie("TestCookie",$value,time()+3600); /* 有效期1个小时 */
setcookie("TestCookie",time()+3600,"/~rasmus/",".example.com",1); /* 有效目录 /~rasmus,有效域名example.com及其所有子域名 */
?>

设置多个cookie变量: setcookie('var[a]','value');用数组来表示变量,但他的下标不用引号.这样就可以用$_COOKIE[‘var’][‘a’]来读取该COOKIE变量.

1.1.2. 使用header()设置cookie;
header("Set-Cookie: name=$value[;path=$path[;domain=xxx.com[;...]]"); 

后面的参数和上面列出setcookie函数的参数一样.
比如:
$value = 'something from somewhere';
header("Set-Cookie:name=$value");


1.2 Cookie的读取:
直接用php内置超级全局变量 $_COOKIE就可以读取浏览器端的cookie.
上面例子中设置了cookie"TestCookie",现在我们来读取:
print $_COOKIE['TestCookie']; COOKIE是不是被输出了?!

1.3 删除cookie
只需把有效时间设为小于当前时间,和把值设置为空.例如:
setcookie("name","",time()-1);

用header()类似.

1.4 常见问题解决:
1) 用setcookie()时有错误提示,可能是因为调用setcookie()前面有输出或空格.也可能你的文档使从其他字符集转换过来,文档后面可能带有BOM签名(就是在文件内容添加一些隐藏的BOM字符).解决的办法就是使你的文档不出现这种情况.还有通过使用ob_start()函数有也能处理一点.
2) $_COOKIE受magic_quotes_gpc影响,可能自动转义
3) 使用的时候,有必要测试用户是否支持cookie

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读