PHP cookie 的设置、获取和删除

一、Cookie是什么?

cookie 常用于识别用户。cookie是保存在客户端浏览器中的,cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面是,这台计算机将会发送cookie。通过PHP ,您能够常见并取回cookie的值。

二、创建cookie

setcookie()函数用于设置cookie。
注释:setcookie() 函数必须位于<html>标签之前。

语法
setcookie(name,value,expire,path,domain);
参数说明
name:cookie名字
value:cookie值
expire:过期时间,时间戳格式。不设置则在浏览器关闭后cookie失效。
path:服务器有效路径。默认为当前设置cookie时页面的路径,'/'表示整个域名有效,'/A'表示A分类目录
下的页面有效、只有设置的路径包含的页面才可以拿到cookie值。
domain:该cookie有效的域名,只有指定的域名才可以拿到cookie,默认所有域名都可以拿到。
如,"www.baidu.com",也可是".baidu.com"。
实例1

在下面的例子中,我们将创建名为"user" 的cookie,并为他赋值"valuation"。我们也规定了此 cookie在一个小时后过期:

<?php
setcookie("user","valuation",time()+3600,'/','www.baidu.com');
?>
<html>

注释:在发送cookie时, cookie的值会自动进行URL编码,在取回时自动解码。(为防止URL编码,请使用setrawcooki() 取而代之。)

实例2

你还可以通过另一种方式设置cookie的过期时间。这也去比使用秒表示的方式简单。

<?php
$expire = time()+60*60*24*30;
setcookie("user","valuation",$expire);
?>

<html>

在上面的实例中,过期时间别设置为一个月(60秒*60分*24小时*30天)。

三、取回cookie的值

用PHP的 $_COOKIE 变量取回cookie的值。
在下面实例中,取回名为"user"的值,并把它显示在了页面上:

<?php
//输出 cookie值
echo $_COOKIE["user"];

//查看所有 cookie
print_r($_COOKIE);
?>

在下面的实例中,使用 isset() 函数来判断是否已设置了 cookie:

<?php
setcookie("user","valuation",time()+10);//过期时间为10秒
	if(!isset($_COOKIE['user'])){  //cookie是否存在
		echo "cookie也过期";//不存在
	}else{
		echo "cookie"; //存在
	}
?>

五、删除Cookie

当删除cookie是,您应当使用过期时间变更为过去的时间点。
利用setcooki() 函数设置过期时间

删除的实例
<?php
//设置 cookie 过期时间为过去1小时
setcookie("user","",time()-3600);
?>

六、注意事项

1、浏览器限制Cookie的数量和大小(通常限制为50个,每个不超过4KB),每个web站点最多能设置20个cookie,一共能存300个cookie。
2、setcookie() 之前不能有任何html输出,保存阔空格、空行。
3、Cookie是保存在客户端的,如果禁用了cookie,cookie就会失效。
4、setcookie() 后,你在当前页调用echo $_COOKIE[“name”] 不会有输出。需要刷新或到下一个页面在过期之前才可以看到Cookie值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值