Session 是一种在服务器端存储用户会话信息的机制。当用户访问网站时,服务器会为该用户创建一个唯一的 Session,并将其存储在服务器上。Session 可以用来存储用户的登录状态、购物车信息等。Session 超时是指用户在一段时间内没有进行任何操作,服务器会自动销毁该用户的 Session。
当用户的 Session 超时时,服务器会销毁该用户的 Session,此时如果用户尝试访问需要登录的页面,应该将其重定向到登录页面。
Session 超时是因为用户在一段时间内没有进行任何操作,服务器自动销毁了该用户的 Session。
在 PHP 中,可以通过设置 Session 的超时时间,并在每次请求时检查 Session 是否有效来实现自动跳转。
<?php
// 设置 Session 超时时间为 30 分钟
session_start();
$sessionTimeout = 1800; // 30 分钟
$lastActivity = isset($_SESSION['lastActivity']) ? $_SESSION['lastActivity'] : time();
if (time() - $lastActivity > $sessionTimeout) {
// Session 超时,销毁 Session 并重定向到登录页面
session_unset();
session_destroy();
header('Location: login.php');
exit();
} else {
// 更新最后活动时间
$_SESSION['lastActivity'] = time();
}
// 正常处理请求
?>session_start() 启动 Session,并设置超时时间为 30 分钟(1800 秒)。通过这种方式,可以实现 Session 超时自动跳转的功能,确保用户在 Session 超时后无法访问需要登录的页面。