如何修复Redirect Loop错误?

时间:2015-12-06 21:02:16

标签: php

我正在尝试创建一个用户登录站点,我有一个header.php和一个home.php文件。 我在header.php页面上有以下代码:

<?php
include("inc/header.inc.php");
?>
<?
if (!isset($_SESSION["user_login"])

?>
在Home.php页面上的

我有:

display:none

无论我尝试什么,我都会收到此循环错误,请帮助:(

2 个答案:

答案 0 :(得分:0)

始终在exit();后使用header("location: ..");,否则可能无法正常使用。

关于循环错误header.phphome.php可能会重定向到彼此。

我不确定它是否是同一个文件(如果我错了,请纠正我)

header.php中,如果未设置会话,则您将用户重定向到home.php并在home.php中包含文件header.inc.php(我假设其文件相同)这是一次又一次地将用户重定向到home.php

答案 1 :(得分:0)

在这两个文件中没有设置$_SESSION['user_login']的任何内容,您需要在header.php中设置此参数,否则它将继续落入这种情况:

else 
{
header("location: home.php");
}

循环如下:

  1. 用户来home.php
  2. header.php包含在内
  3. header.php检查是否已设置$_SESSION['user_login']
  4. 它没有将标题位置设置为home.php
  5. 转到第1步
  6. 我不完全确定你想要在这里实现什么,但我会假设你想要显示一个页面,但是如果用户没有登录以显示其他内容?

    为什么不:

    if (isset($_SESSION['user_login']) {
        include('logged_in.php');
    } else {
        include('login_page.php');
    }
    

    不是反弹用户,只是显示不同的文件?