Cookie
常用于识别用户
Cookie是什么
cookie常用于识别用户。cookie是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送cookie,通过PHP,可以创建并取回cookie的值
创建Cookie
setcookie()函数用于设置cookie
setcookie()函数必须位于<html>
标签之前
语法1
setcookie(name, value, expire, path, domain);
实例1
创建名为user的cookie,并为它赋值runoob。我们也规定了此cookie再一小时后过期1
2
3
4
5
setcookie("user", "runoob", time()+3600);
<html>
在发送cookie时,cookie的值会自动进行URL编码,在取回时自动解码(为了防止URL编码,请使用setrawcookie()取而代之)
实例2
您还可以通过另一种方式设置cookie的过期时间1
2
3
4
5
6
$expire=time()+60*60*24*30;
setcookie("user", "runoob", $expire);
<html>
这个例子过期时间被设置为(60秒*60分*24小时*30天),也就是1个月
取回Cookie值
PHP的$_COOKIE变量用于取回cookie的值
1 |
|
取回cookie名为user
还可以用isset()函数来确认是否已设置cookie1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
if (isset($_COOKIE["user"]))
echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
echo "普通访客!<br>";
</body>
</html>
删除Cookie
当删除cookie时,应当使过期日期变为过去的时间点1
2
3
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600);
浏览器不支持Cookie
如果有些应用程序需要与不支持cookie的浏览器打交道,那么不得不使用其他方法在应用程序中的页面之间传递信息了
1 | <html> |
当点击submit按钮时,便向welcome.php提交了输入
welcome.php1
2
3
4
5
6
7
8
9
10
11
12<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
欢迎 echo $_POST["name"]; . <br>
你 echo $_POST["age"]; 岁了。
</body>
</html>
总结
1.setcookie()函数必须位于<html>
标签之前
2.如果不想让cookie被URL编码,可以用setrawcookie()函数取代
3.setcookie()中的expire是以秒为单位设置时间的
4.想要删除cookie,依旧用setcookie()函数,区别就是让它变为过去的时间点
5.不能是用cookie的浏览器,就可以通过表单的方式来让信息在应用程序的页面之间传递