会话注册的问题?

时间:2011-03-14 11:58:00

标签: php session

if ($count == 1) {
    $_SESSION["authenticated"] = $row[0]; //register session with user id
    header("Location: success.php");
}

success.php:

<?
session_start();
if (isset($_SESSION['authenticated'])) {
    header("Location: view.php");
} else {
    header("Location: index.php");
}
?>

它似乎没有工作,它一直将我重定向到index.php,就像会话从未注册过一样。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您需要将session_start()添加到第一个块

if ($count == 1) {
    session_start(); 
    $_SESSION["authenticated"] = $row[0]; //register session with user id
    header("Location: view.php");
    exit;
}

成功是没有意义的.php。只需将用户直接发送到view.php
您必须再次验证用户身份验证的地方:

<?
session_start();
if (empty($_SESSION['authenticated'])) {
    header("Location: index.php");
    exit;
}
?>
位置后,

exit是强制性的,否则您的保护将无法保护