确保session_start()
在所有页面的顶部调用。
有关基本用法,请参阅手册:
会话是根据唯一会话 ID 为单个用户存储数据的简单方法。这可用于在页面请求之间保持状态信息。会话 ID 通常通过会话 cookie 发送到浏览器,并且 ID 用于检索现有的会话数据。ID 或会话 cookie 的缺失让 PHP 知道要创建一个新会话,并生成一个新的会话 ID。
会话遵循简单的工作流程。当会话启动时,PHP 将使用传递的 ID 检索现有会话(通常来自会话 cookie),或者如果没有传递会话,它将创建一个新会话。PHP 将在会话开始后使用任何会话数据填充 $_SESSION 超全局变量。当 PHP 关闭时,它会自动获取 $_SESSION 超全局变量的内容,将其序列化,并使用会话保存处理程序将其发送到存储中。
默认情况下,PHP 使用由 session.save_handler 设置的内部文件保存处理程序。这会将会话数据保存在服务器上 session.save_path 配置指令指定的位置。
可以使用 session_start() 函数手动启动会话。如果 session.auto_start 指令设置为 1,会话将在请求启动时自动启动。
会话通常在 PHP 完成执行脚本时自动关闭,但可以使用 session_write_close() 函数手动关闭。
Example #1 使用 $_SESSION 注册一个变量。
<?php
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
?>