我有一个php代码,但当我运行它在xampp本地主机它错误err_too_many_redirects.下面是代码:
login.php,当一个用户到来时:
<?php
session_start();
<The php codes that checks from mysql...>
if (!isset($_SESSION['ip_allowed'])) {
if ($count === 1) {
$_SESSION['ip_allowed'] = true;
header('Location: index.php');
exit;
} else {
header('Location: access_denied.html');
exit;
}
} else {
header('Location: index.php');
exit;
}
?>
access_denied.html是不是一个重要的文件,因为它是一个正常的html文件没有php代码
和index.php
<?php
session_start();
include 'login.php';
if (!isset($_SESSION['ip_allowed'])) {
header('Location: access_denied.html');
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome!</title>
</head>
<body>
<h1>
Your IP Is Allowed!✅
</h1>
<a href="login.php">
Back To Login
</a>
</body>
</html>
但当如果我login.php和它允许我的ip然后它重定向我到index.php和index.php中我编码的代码,检查它是否有像$_SERVER ['ip_allowed']的要求,如果没有它重定向到access_denied.html
希望有人能帮帮我!.谢谢!
我确实尝试过更改session_start()的行并添加exit(); or die();在header之后但没有任何工作
1条答案
按热度按时间8hhllhi21#
因为你在index.php中包含了login.php,所以它会永远重定向到你的索引。
试试这个: