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,就像会话从未注册过一样。我做错了什么?
答案 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
是强制性的,否则您的保护将无法保护