一、简介
当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。
这就出现了Session,Session是存储在服务端的临时会话信息,当用户离开网站后,此临时会话信息就会删除(或者长期不活动,超出Sessions的储存时长)。
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
二、开始使用Session
使用Session非常简单,不过需要提前开启Session。
session_start();
上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID。
储存
$_SESSION['data'] = 1;
上面的代码会将1储存在session['data']当中。
获得
$data = $_SESSION['data'];
上面的代码会获得储存在session['data']当中值。
删除
unset($_SESSION['data']);
上面的代码会注销session['data']。如果注销后再次取值会出错:未定义的变量data。
终结此次Session
session_destroy();
某些时候,我们需要销毁当前会话中的全部数据。注意,当使用session_destroy();后,我们还想使用Session的话,必须重新调用session_start()。
在使用Session时,我们通常需要设置此次会话的Session的过期时长。
可在开启Session时设置
session_start(600);
Session有效期也可以在配置php.int设置时长
ini_set('session.gc_maxlifetime', 600);
上面的两段代码都是设置有效期为600秒(m)。说明这次会话在600秒没有任何活动,此次会话的Session就注销。
三、使用场景
因为Session时存储在服务器端的,比较安全,切不会轻易的被浏览用户改变,所以通常用来储存一些重要又会通用的数据,比如说用户的唯一ID。Session的储存数据量比较小,且会消耗服务器的内存和cup,一些大型的数据不推荐存储在Session中。
COMMENTS | NOTHING