资源描述:
《动态网页技术php关于cookie和session的分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、动态网页技术PHP关于cookie和session的分析>>教育资源库1.PHP的COOKIEcookie是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。PHP在http协议的头信息里发送cookie,因此setcookie()函数必须在其它信息被输出到浏览器前调用,这和对header()函数的限制类似。1.1设置cookie:可以用setcookie()或setrae[,stringvalue[,intexpire[,stringpath[,stringdomain[,boolsecure[,boolhttponly]]]]]])name:cookie变量名value:cook
2、ie变量的值expire:有效期结束的时间,path:有效目录,domain:有效域名,顶级域唯一secure:如果值为1,则cookie只能在https连接上有效,如果为默认值0,则http和https都可以.例子:<?php$value='somethingfromsomee()+3600);/*有效期1个小时*/setcookie("TestCookie",$value,time()+3600,"/~rasmus/",".example.",1);/*有效目录/~rasmus,有效域名example.及其所有子域名*/?>设置多个cookie变量:setcookie('var[
3、a]','value');用数组来表示变量,但他的下标不用引号.这样就可以用$_COOKIE[‘var’][‘a’]来读取该COOKIE变量.1.1.2.使用header()设置cookie;header("Set-Cookie:name=$value[;path=$path[;domain=xxx.[;...]]");后面的参数和上面列出setcookie函数的参数一样.比如:$value='somethingfromsomee=$value");1.2Cookie的读取:直接用php内置超级全局变量$_COOKIE就可以读取浏览器端的cookie.上面例子中设置了cookie"Test
4、Cookie",现在我们来读取:print$_COOKIE['TestCookie'];COOKIE是不是被输出了?!1.3删除cookie只需把有效时间设为小于当前时间,和把值设置为空.例如:setcookie("name","",time()-1);用header()类似.1.4常见问题解决:1)用setcookie()时有错误提示,可能是因为调用setcookie()前面有输出或空格.也可能你的文档使从其他字符集转换过来,文档后面可能带有BOM签名(就是在文件内容添加一些隐藏的BOM字符).解决的办法就是使你的文档不出现这种情况.还有通过使用ob_start()函数有也能处理一点.2
5、)$_COOKIE受magic_quotes_gpc影响,可能自动转义3)使用的时候,有必要测试用户是否支持cookie<!--[if!supportLineBreakNewLine]-->97312348:>>>>这篇文章来自..,。