会话控制
HTTP是无状态协议,也就是说HTTP没有内置方法维护两个。事务之间的状态。HTTP协议本身无法提供判断两个请求是否来自相同用户的方法。
会话控制的思想是在web站点的单个会话中跟踪用户。可以支持用户登录后根据其身份验证级别或个人选项显示相应内容
Cookie 实际上是指小量信息,是由 Web 服务器创建的,将信息存储在用户计算机上的文件。
cookie
cookie是当前识别用户,实现持久化会话的最好方式
可以将cookie分为两类:会话cookie(Session Cookies
)和持久cookie(Persistent Cookies
),经常提到的session实际上是cookie的一种。
持久cookie
持久Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。
- 设置cookie
function setcookie ($name, $value = "", $expire = 0, $path = "", $domain = "", $secure = false, $httponly = false) {}
注:setcookie() 函数必须位于 <html> 标签之前
-
name
Cookie 名称 -
value
Cookie 值 -
expire
Cookie 的过期时间(Unix 时间戳) -
path
Cookie 有效的服务器路径,默认值为当前目录。 -
domain
Cookie 的有效域名/子域名,默认为本域 -
secure
设置这个 Cookie 是否仅仅通过安全的 HTTPS 连接传给客户端,默认为flase -
httponly
设置成 TRUE,Cookie 仅可通过 HTTP 协议访问,默认为flase
-
- 读取cookie
PHP 的$_COOKIE
变量用于取回 cookie 的值。echo $_COOKIE["name"];
- 删除
当删除 cookie 时,使过期日期变更为过去的时间点即可setcookie("name","Tom",time()-60);
会话cookie(Session)
PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
注:php默认是将session储存到文件中的
使用会话基本步骤如下:
- 启动一个会话
- 注册一个会话
- 使用会话变量
- 取消变量注册及销毁会话
- 启动会话
session_start();
- 注册和使用
使用$_SESSION
全局变量注册和使用会话session_start(); $_SESSION['name'] = "Tom"; echo $_SESSION['name']."hello";
- 销毁会话
unset()
函数用于释放指定的 session 变量:
清除全部会话unset($_SESSION['name']);
$_SESSION = array();
网友评论