无法使会话正常工作

时间:2011-10-04 00:35:06

标签: php session

我正在尝试控制会话是否已启动,并根据它进行重定向,并检查会话时间,如果已过期重定向,如果没有 - 继续。

我有两页:

在一个页面中,用户最初进入会话的位置尚未设置,我有以下代码:

session_start(); 
$_SESSION['timeout'] = time(); 
header('Location: index.php');

在第二页上我有这个:

$inactive = 600;
if(isset($_SESSION['timeout']) ) {
    $session_life = time() - $_SESSION['timeout'];
    if($session_life > $inactive)
        { session_destroy(); header("Location: intro.php"); }
} 
else { header("Location: intro.php"); }

它仍然带我到第一页(intro.php)

我的代码在这里出了什么问题?

顺便说一句......而不是在$ session_life>时重定向$ inactive我想更新会话,以便会话永不过期。有什么提示吗?

1 个答案:

答案 0 :(得分:3)

您必须在计划使用会话的每个页面中致电session_start()

所以只需在第二页添加一个session_start()(记得在回显任何输出之前这样做),你应该没问题。