动态网页技术PHP关于cookie和session的分析 |
| 时间:2009-06-19 17:12:33 作者:chinaitlab 我要投稿 |
Linux初探欢迎您的投稿,投放方法请点击 这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
1. PHP的COOKIEcookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被......
1. PHP的COOKIE 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", $value, 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
1/5 1 2 3 4 5 下一页 尾页 |
如果您需转载 动态网页技术PHP关于cookie和session的分析,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
|
|
|