Php 将用户重定向到登录表单
亲爱的 我创建了一个允许将用户重定向到特定URL的函数。该函数名为重定向,用户标题函数为:Php 将用户重定向到登录表单,php,html,Php,Html,亲爱的 我创建了一个允许将用户重定向到特定URL的函数。该函数名为重定向,用户标题函数为: public function redirect($url, $code = null) { if($code == 301){ header("HTTP/1.1 301 Moved Permanently"); } header('Location: '.Router::url($url)); die(); } 我使用它来保护一些页面,以便未经身份验证的
public function redirect($url, $code = null)
{
if($code == 301){
header("HTTP/1.1 301 Moved Permanently");
}
header('Location: '.Router::url($url));
die();
}
我使用它来保护一些页面,以便未经身份验证的用户可以访问。我提出一个条件,允许检查用户是否登录,如果没有,将重定向到登录表单:
if(!$this->Session->isLogged()){
$this->redirect('users/login');
}
if(!$this->Session->isLogged()){
$this->redirect('users/login');}
已记录的函数为:
public function isLogged()
{
return isset($_SESSION['User'][0]->id);
}
我试着做同样的事情,对于BO管理页面,它是有效的。但我也需要保护头版。问题是,当我尝试访问首页时,我被重定向到登录表单,但我在Chrome浏览器上遇到了ERR_TOO_MANY_REDIRECTS错误
我试图删除Cookie,但我有同样的问题。当我试图忽略以下行时,我可以看到我的登录表单:
if(!$this->Session->isLogged()){
$this->redirect('users/login');
}
if(!$this->Session->isLogged()){
$this->redirect('users/login');}
PHP在两种主要情况下引发此错误:
简而言之:与您的案例相关的错误肯定与无限重定向有关,否则可能会调用其他重定向,而且在您调用函数的页面中也会调用所需的重定向。如果您已经在该页面上,则不应尝试重定向到登录
if(!$this->Session->isLogged() && !$this->isLoginPage()){
$this->redirect('users/login');}
}
您的登录页面不必检查是否已登录user@GiacomoM什么意思?我不明白你有没有把
如果(!$this->Session->isLogged())
放在登录页面上?谢谢。我测试我是否已经在登录页面中,如果没有重定向。