我正在尝试创建一个身份验证脚本,将已记录/未记录的用户重定向到正确的页面但会导致重定向循环。我有两个页面index.php,其中包含登录表单和mobile.php,其中包含有效用户的内容。对于身份验证,我在index.php
的第一行有这个代码session_start();
if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {
header("location: mobile.php");
exit();
}
并且mobile.php的第一行是
session_start();
if(!isset($_SESSION["username"])){
header("location: index.php");
}
但我不知道为什么会导致重定向循环。 这是一些截图。 谢谢你的时间。
以下是index.php中的一些代码,这些代码行后面跟着登录表单。在validate函数中我所做的就是检查用户名和密码是否有效,如果是,则重新生成会话ID,并设置会话变量username和userid。并返回true。
if(isset($username) && isset($password)){
$username = preg_replace('/[^a-zA-Z0-9]/', '', $username);
$password = preg_replace('/[^a-zA-Z0-9]/', '', $password);
$returnmsg = validate($username,$password);
if($returnmsg===true){
// header("location: mobile.php");
exit;
} else {
$returnmsg = 'Invalid username or password.';
}
}
答案 0 :(得分:0)
总是在位置标题后退出。
session_start();
if(!isset($_SESSION["username"])){
header("location: index.php");
exit();
}