浅谈PHP Cookie处理函数
(o゜▽゜)o☆[BINGO!]
ok,我们先看看cookie是什么东东?
cookie是服务器留在客户端的用于识别用户或者存储一些数据的小文件(注意,session存储在服务器端,这是两者的区别之一)。我们平时登录某门户时,会有选项“是否保存登录”或者“下次自动登录”,当我们勾选了之后,服务器就会在我们的浏览器创建cookie文件来保存我们的信息。每当计算机通过浏览器请求页面时,它会同时发送cookie。通过PHP,可以创建并取回cookie的值。cookie在web中是很重要的角色,早在网景浏览器的时候就产生了cookie。cookie经常被用于用户验证系统。
1.创建cookie
函数setcookie()可以在PHP中生成cookie。由于cookie是HTTP头标部分的内容,因此必须在输出任何数据之前调用setcookie(),这个限制和header()类似,定义:
boolsetcookie(stringname[,stringvalue][,intexpire][,stringpath][,stringdomain][,boolsecure][,boolhttponly])
好多参数啊!Σ(⊙▽⊙"a不急,让我们看看各个参数的作用:
name:必选,表示cookie的名字。
value:可选,表示cookie值,存储在客户端,当为空时,表示撤销客户端中该cookie的资料(这样可以删除cookie)。
expire:可选,表示cookie的有效截止时间,也就是过期时间,如果没有指定或者指定为0,那么通常是在关闭浏览器时失效。
path:可选,cookie有效路径。
domain:可选,cookie有效域名。
secure:表示在HTTPS的安全传输时才有效。
实例(建立一个名字为test,值为China的cookie):
<?php setcookie("test",China"); ?>
使用setcookie()给的值只能是数字或者字符串,不能是其他的复杂结构。
2.获取cookie
创建cookie后,就可以使用预定义变量$_COOKIE来获取cookie。不过,只能在其他页面获取cookie,因为在php中,被设置的cookie不会在本页面生效,除非该页面被刷新。
实例:
<?php setcookie("test","China"); echo"cookieis".$_COOKIE["test"]; ?>
这里之所以要刷新页面,是因为cookie的值不会在调用setcookie()之后立即存储在