Cookie是存储正在客户端较量争论机上的文本文件,它们保存用于跟踪目的。PHP通明地支持HTTP cookie。
辨认回归用户触及三个步骤
● 效劳器剧本将一组cookie发送到阅读器。例如春秋等。
● 阅读器将此信息存储正在内陆较量争论机上以供未来应用
● 当下次阅读器向Web效劳器发送任何申请时,它会将这些cookie信息发送到效劳器,效劳器应用该信息来辨认用户。
本章将教您若何设置cookie,若何拜访它们和若何删除了它们。
Cookie的分析
Cookie通常设置正在HTTP标头中(虽然JavaScript也能够间接正在阅读器上设置cookie)。设置cookie的PHP剧本可能会发送看起来像这样的题目(阅读器F12,network(网络)能够看到)
HTTP/1.1 200 OK Date: Fri, 04 Feb 2000 21:03:38 GMT Server: Apache/1.3.9 (UNIX) PHP/4.0b3 Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; path=/; domain=jc2182.com Connection: close Content-Type: text/html
如您所见,Set-Cookie标头蕴含称号值对,GMT日期,门路以及域。称号以及值将进行URL编码。expires字段是阅读器正在给按时间以及日期之后删除了cookie的指令。假如阅读器设置装备摆设为存储cookie,则会将此信息保存到无效期。假如用户将阅读器指向与cookie的门路以及域婚配的任何页面,它会将cookie从新发送到效劳器。阅读器的题目可能以下所示
GET / HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc) Host: zink.demon.co.uk:1126 Accept: image/gif, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: name=xyz
而后,PHP剧本能够拜访环境变量$_COOKIE,此中蕴含一切cookie称号以及值。
用PHP设置Cookies
PHP提供了setcookie()函数来设置cookie。此函数最多需求六个参数,应正在<html>标志以前挪用。关于设置每个cookie,必需独自挪用此函数。
setcookie(name, value, expire, path, domain, security);
这是一切参数的细节
● name - 设置cookie的称号。
● value - 设置定名变量的值,而且是您实际要存储的内容。
● expire - 这指定自1970年1月1日格林尼治本准工夫00:00:00以来的将来工夫(以秒为单元)。正在此之后,cookie将无奈拜访。假如未设置此参数,则正在Web阅读器封闭时cookie将主动过时。
● path - 指定cookie无效的目次。单个正斜杠字符容许cookie对一切目次无效。
● domain - 这可用于正在十分年夜的域中指定域名,而且必需至多蕴含两个无效期。一切cookie仅对创立它们的主机以及域无效。
● security - 能够设置为1以指定cookie应仅经过应用HTTPS的平安传输发送,不然设置为0,这象征着cookie能够经过惯例HTTP发送。
如下示例将创立两个cookie 称号以及春秋,这些cookie将正在一小时后过时。
<?php setcookie("name", "John Watkin", time()+3600, "/","", 0); setcookie("age", "36", time()+3600, "/", "", 0); ?> <html> <head> <title>用PHP设置Cookies</title> </head> <body> <?php echo "设置 Cookies"?> </body> </html>
提醒:time()函数前往的是以后的工夫戳,也就是1970年1月一日0点0分0秒到剧本执行的那一刻的秒数。
关上阅读器拜访剧本,而后按F12关上开发者模式,抉择Network(网络)选项卡,抉择Headers,能够看到以下图所示:
应用PHP拜访Cookie
PHP提供了许多拜访cookie的办法。最简略的办法是应用$_COOKIE变量。如下示例将拜访下面示例中设置的一切cookie。
<html> <head> <title>用PHP拜访cookie</title> </head> <body> <?php echo $_COOKIE["name"]. "<br />"; echo $_COOKIE["age"] . "<br />"; ?> </body> </html>
您能够应用isset()函数来反省能否设置了cookie。假如设置了再进行输入。
<html> <head> <title>用PHP拜访cookie</title> </head> <body> <?php if(isset($_COOKIE["name"])) echo $_COOKIE["name"]. "<br />"; if(isset($_COOKIE["age"])) echo $_COOKIE["age"] . "<br />"; ?> </body> </html>
用PHP删除了Cookie
正式地说,要删除了一个cookie,你应该只应用name参数挪用setcookie()[也就是说想删除了阿谁name,把他设置成空],但这其实不老是无效,不该该依赖。最平安的做法是设置一个曾经过时的日期
/ 设置过来工夫为以后工夫的以前的60秒 /
<?php /* 设置过来工夫为以后工夫的以前的60秒 */ setcookie( "name", "", time()- 60, "/","", 0); setcookie( "age", "", time()- 60, "/","", 0); ?> <html> <head> <title>用PHP删除了cookie</title> </head> <body> <?php echo "删除了cookie" ?> </body> </html>
保举学习:PHP教程
以上就是PHP若何操作Cookie?的具体内容,更多请存眷资源魔其它相干文章!
标签: php cookie php开发教程 php开发资料 php开发自学
抱歉,评论功能暂时关闭!