PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应程序中的所有页面使用。
PHP Session变量
对比起Cookie,Session是存储在服务器端的会话,相对安全,并且是以文本文件形式存储在服务器端,所以不怕客户端修改Session内容。
Session的工作机制是:为每个访问者创建一个唯一的id(UID),并基于这个UID 来存储变量。UID存储在cookie中,亦或通过URL进行传导。
开始 PHP Session
在您吧用户信息存储到PHP session 中之前,首先必须启动会话。
注释:session_start() 函数必须位于<html>标签之前:
<?php session_start(); ?>
<html>
<body>
</body>
</html>
上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个UID。
存储 Session 变量
存错和取回 session 变量的正确方法是使用PHP$_SESSION变量:
<?php
session_start();
// store session data
$_SESSION['views'] = 1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
输出:
Pageviews=1
在下面的例子中,我们创建了一个简单的page-view计算器。isset()函数检测是否已设"views”变量。如果已设置"views"变量,我们累加计算器。如果"views"不存在,则我们创建"views"变量,并把它设置为1:
<?php
session_start();
if(isset($_SESSION['views'])){
$_SESSION['views'] = $_SESSION['views']+1;
}else{
$_SESSION['views'] = 1;
echo "Views=".$_SESSION['views'];
}
?>
结束Session
如果您希望删除某些session数据。可以使用unset() 或session_destroy() 函数。
usert() 函数用于释放指定的session变量:
<?php
unset($_SESSION['views']);
?>
您也可以通过session_destroy() 函数彻底结束session:
<?php
session_destroy();
?>
注释:session_destroy() 将重置 session,您将失去所有已存错的session 数据。