什么是session?
session变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。而cookie只能用于本界面。
开始 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['age']=24;
?>
<html>
<body>
<?php
//retrieve session data
echo "年龄:". $_SESSION['age'];
?>
</body>
</html>
isset() 函数检测是否已设置 “age” 变量。如果已设置 “age” 变量,我们累加计数器。如果 “age” 不存在,则我们创建 “age” 变量,并把它设置为 24。
<?php
session_start();
if(isset($_SESSION['age']))
$_SESSION['age']=$_SESSION['age']+1;
else
$_SESSION['age']=24;
echo "年龄:". $_SESSION['age'];
?>
如果出现
Warning: session_start(): Cannot send session cookie - headers already sent by...
类似的问题,将session_start()
改为@session_start()
即可。
终结 Session变量
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量:
<?php
unset($_SESSION['age']);
?>
session_destroy() 函数彻底终结 session:
<?php
session_destroy();
?>
注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。