2016-07-24 43 views
2

我得到这个恼人的错误,我似乎无法摆脱。登录/注册'太多重定向'错误

相关片段:

的index.php:

if(isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn']===true){ 
    $isLoggedIn = true; 
}else{ 
    $_SESSION['isLoggedIn'] = false; 
    header('Location: /signup'); 
} 

signup.php:

if(isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn']===true){ 
    header('Location: /'); 
} else { 
    $_SESSION['isLoggedIn'] = false; 
} 

我重定向到signup.php页,但之后得到too many redirects错误。在服务器日志中,只有302重定向到signup.php页面。我没有在signup.php的其他地方重定向。

这个错误从哪里来?

+0

你的代码中是否有其他'header('Location ...')(可能在一个包含的页面中) – FirstOne

+1

尝试对头文件逐个进行评论,看看错误是否消失。 – Martijn

+0

@FirstOne - no。 – tekina

回答

2

您的header('Location: /signup');失败,因为该文件实际上被称为signup.php/signup是一个文件夹。

,并解释为:/go_to_root/signup/index.php

由于该文件夹不存在,它是从一个最有可能的404和索引文件上循环。

因此,你需要使它改为

header('Location: /signup.php'); 

每头之后添加exit;,否则,你的代码将继续执行。