启动Session需先调用session_start(),通过$_SESSION存储数据,使用isset()判断登录状态,退出时用session_destroy()清除数据并删除cookie,确保安全。

在PHP中,会话(Session)是一种在服务器端存储用户数据的机制,常用于管理用户登录状态、购物车信息等需要跨页面保持的数据。通过调用Session相关函数,可以实现对用户状态的有效控制。
启动和使用Session
在使用Session之前,必须先调用session_start()函数来启动会话。该函数会检查是否存在当前用户的会话,如果没有则创建一个。
- 每个用户访问时,PHP会分配唯一的会话ID(通常通过cookie传递)
- $_SESSION是一个超全局数组,用于存储和读取会话数据
- 必须在输出任何内容前调用session_start(),否则会报错
示例:
session_start(); $_SESSION['username'] = 'john'; echo "欢迎," . $_SESSION['username'];
检查和判断会话状态
可以通过判断$_SESSION中特定键是否存在,来确认用户是否已登录或数据是否已设置。
立即学习“PHP免费学习笔记(深入)”;
- 使用isset()检查某个会话变量是否存在
- 使用empty()判断值是否为空
- 常见于登录验证逻辑中
示例:
session_start();
if (!isset($_SESSION['username'])) {
header("Location: login.php");
exit;
}销毁和清理Session
当用户退出登录或需要清除会话时,应正确销毁会话数据,防止信息泄露。
- 使用session_destroy()删除所有会话数据
- 配合session_unset()清空$_SESSION数组
- 可手动注销单个会话变量:unset($_SESSION['key'])
退出登录示例:
session_start();
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();基本上就这些。合理使用Session能有效管理用户状态,但要注意安全性和资源释放。











