我试图使用会话系统来创建一个登录,但是,我一直得到一个重定向错误。一旦我输入正确的用户名(Admin)和密码(murphy1),页面就会刷新,并且在控制台中出现以下错误:
net:: ERR_TOO_MANY_REDIRECTS
现在,如果我只是刷新页面,它登录,或者如果我重新输入用户名和密码第二次发布结果,它再次登录。谁能告诉我我哪里做错了,我将非常感激。
<?php
ob_clean();
session_start();
if (isset($_SESSION['loggedin']) || $_SESSION['loggedin'] == true){
header("Location: SeniorManagersSiteTour.php");
}
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$Username = $_POST['username'];
$Password = $_POST['password'];
if ($Username == 'Admin'){
if($Password == 'murphy1'){
$_SESSION["loggedin"] = true;
$Error = "00";
}
else{
$Error = "01";
}
}
else{
$Error = "02";
}
}
?>
您的if
声明是错误的。
如果你把它改成:if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true)
原因:如果你传递一个会话变量给isset
函数没有其他检查,它可以假设它是真的