PHP版本--HTTP session cookie原理及应用(上)cookie 篇

本文探讨了Web程序中常见的会话跟踪技术——Cookie与Session,重点解析PHP如何使用Cookie进行用户身份识别。通过示例介绍了如何设置和读取Cookie,并提到了setcookie()函数的使用注意事项,包括错误提示可能的原因及解决方案。
摘要由CSDN通过智能技术生成

说在前面

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

PHP 的COOKIE
  • cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。
  • PHP在http 协议的头信息里发送cookie,因此 setcookie()函数必须在其它信息被输出到浏览器前调用,这和对header()函数的限制类似。
1.设置cookie:
a.可以用 setcookie()或 setrawcookie()函数来设置 cookie。也可以通过向客户端直接发送http头来设置。

eg:

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

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

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

eg:

$value = 'something from somewhere';   
header("Set-Cookie:name=$value");  
2.读取cookie:
直接用php  内置超级全局变量$_COOKIE 就可以读取浏览器端的cookie。 
上面例子中设置了cookie "TestCookie",现在我们来读取:

eg:

print $_COOKIE['TestCookie'];  

用header()类似。

note:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值