PHP Cookies
1. 什么是 Cookie?
- cookie 常用于识别用户
- cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。
- 通过 PHP,您能够创建并取回 cookie 的值
2. 如何创建 cookie?
- setcookie() 函数用于设置 cookie。
- setcookie() 函数必须位于 标签之前。
- 在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。
语法:
setcookie(name, value, expire, path, domain);
例子:
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>
3. 如何取回 Cookie 的值?
- PHP 的 $_COOKIE 变量用于取回 cookie 的值
<?php
// Print a cookie
echo $_COOKIE["user"]; //获取指定name的cookie值
// A way to view all cookies
print_r($_COOKIE); //获取所有cookie值
?>
4. 如何删除 cookie?
- 当删除 cookie 时,您应当使 过期日期 变更为 过去的时间点
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
PHP Sessions
- PHP session 变量用于存储有关 用户会话 的信息,或更改用户会话的设置。
- 不过,会话信息是临时的,在用户离开网站后将被删除,如果您需要永久储存信息,可以把数据存储在数据库中
- Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用
- Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
1. 开始 PHP Session
- 在您把用户信息存储到 PHP session 中之前,首先必须启动会话。
- session_start() 函数必须位于 标签之前
下面的代码 会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID
<?php session_start(); ?>
<html>
<body>
</body>
</html>
2. 存储 Session 变量
- 存储和取回 session 变量的正确方法是使用 PHP
$_SESSION
变量
<?php
session_start(); // 1. 开启会话
// store session data
$_SESSION['views']=1; // 2. 存储session变量
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views']; // 3. 获取session变量
?>
</body>
</html>
3. 终结 Session
- 如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
- unset() 函数用于释放指定的 session 变量
- session_destroy() 将重置 session,您将失去所有已存储的 session 数据
<?php
unset($_SESSION['views']);
// session_destroy() 函数彻底终结 session
session_destroy();
?>