PHP中cookies指南
综述
??Cookie是在HTTP协议下,服务器或脚本可以保护客户工作站上信息的一种方法。Cookie是由Web服务器保留在用户浏览器上的小文件,它可以包含有关用户的信息(如身份辨认名码、密码、用户在Web站点购物的方法或用户拜访该站点的次数)。无论何时用户链接到服务器,Web站点都可以拜访Cookie信息。
怎样设置cookies?
??在PHP中可以应用setcookie函数设置一个cookie。cookie是 HTTP标头的一部分, 因此设置cookie功效必需在任何内容送到浏览器之前。这种限制与header()函数一样。任何从客户端传来的cookie将主动地转化成一个PHP变量。PHP取得信息头并分析, 提取cookie名并变成变量。因此,假如设置cookie如setcookie('mycookie','Cookies')php将主动产生一个名为$mycookie,值为'Cookies'的变量。
??我们来看一下setcookie函数语法:
??init setcookie(string CookieName,string CookieValue,int CookieExpireTime,path,domain,int secure);
??参数阐明:
??PATH:表现web服务器上的目录,默认为被调用页面所在目录
??DOMAIN:cookie可以应用的域名,默认为被调用页面的域名。这个域名必需包含两个'.',所以假如你指定你的顶级域名,你必需用'.mydomain.com'
??SECURE:假如设为'1',表现cookie只能被用户的浏览器认为是安全的服务器所记住.
cookies应用举例
??假设我们有这样一个需要注册的站点,它主动辨认用户的身份并进行相干的把持:假如是已经注册的用户,发送给他信息;假如不是已经注册的用户,则显示一个注册页面的链接。
??按照上面的请求,我们先创立数据库用来保留注册用户的信息:名字(first name),姓(last name),Email地址(email address),计数器(visit counter)。
??先按下面步骤建表:
mysql> create database users;
????Query OK, 1 row affected (0.06 sec)
????mysql> use users;
????Database changed
????mysql> create table info (FirstName varchar(20), LastName varchar(40), email varchar(40), count varchar(3));
????Query OK, 0 rows affected (0.05 sec)
??由于php能转换可辨认的cookie为相应的变量,所以我们能检查一个名为'myCookies' 的变量:
<? if (isset($myCookies)) { // 假如Cookie已经存在
????……
????} else { //假如Cookie不存在
????……
????}
?????>
??当cookie存在时,我们履行下面步骤:
??首先取得cookie值,用explode函数分析成不同的变量,增加计数器,并设一个新cookie:
$info = explode('&', $myCookies);
????……
????$count ;
PHP中cookies指南