文章目录
Cookie的作用
cookie 是一种服务器留在用户计算机上的小文件。
当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。
Session 机制
Session 的主要作用就是通过服务端记录用户的状态。
典型的场景是购物 ,当你要添加商品到购物 的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的。
服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了
(一般情况下,服务器会在一定时间内保存这个Session,过了时间限制,就会销毁这个Session)
(需要永久储存信息,可以把数据存储在数据库中。)
-
Session 的工作机制:
为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
PHP Cookie
1.创建 cookie:setcookie(name, value, expire, path, domain);
将创建名为 “user” 的 cookie,把为它赋值 “Alex Porter”。我们也规定了此 cookie 在一小时后过期
<?php
setcookie("user", "Ading", time()+3600);
?>
<html>
<body>
</body>
</html>
cookie 的值会自动进行 URL 编码12,在取回时进行自动解码。
(为防止 URL 编码,请使用 setrawcookie() 取而代之)。
2.取回 Cookie:echo $_COOKIE["user"];
$_COOKIE
变量用于取回 cookie 的值。
3.删除 cookie
使日期过期.
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
PHP Session
1. 创建/开始PHP Session会话:session_start()
!!session_start() 必位于 标签之前:
<?php session_start(); ?>
<html>
<body>
</body>
</html>
2. 存储/取回 session 变量:$_SESSION
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
3. 删除/关闭session变量:unset() session_destroy()
<?php
unset($_SESSION['views']);
?>
session_destroy() 重置 session,失去所有已存储的 session 数据。