亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將用戶重定向到登錄表單

將用戶重定向到登錄表單

PHP
江戶川亂折騰 2021-11-19 17:05:53
親愛的,我創建了一個允許將用戶重定向到特定 URL 的函數。該函數被命名為重定向和用戶頭函數: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');}函數 isLogged 是:public function isLogged(){    return isset($_SESSION['User'][0]->id);}我嘗試為 BO 管理頁面做同樣的事情并且它有效。但我也需要保護頭版。問題是當我嘗試訪問首頁時,我重定向到登錄表單,但我的 Chrome 瀏覽器出現 ERR_TOO_MANY_REDIRECTS 錯誤。我試圖刪除 cookie,但我遇到了同樣的問題。當我嘗試忽略以下行時,我可以看到我的登錄表單:if(!$this->Session->isLogged()){    $this->redirect('users/login');}
查看完整描述

2 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

如果您已經在該頁面上,則不應嘗試重定向到登錄。


if(!$this->Session->isLogged() && !$this->isLoginPage()){

  $this->redirect('users/login');}

}


查看完整回答
反對 回復 2021-11-19
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

PHP 在兩種主要情況下引發此錯誤:

  1. 無限重定向:您可能無限次調用您提到的函數

  2. 連續重定向過多:“Header”原生 PHP 函數每個實例僅處理一個標頭。

簡而言之:與您的案例相關的錯誤肯定與無限重定向有關,否則可能會調用其他重定向以及您正在調用函數的頁面中想要的重定向。


查看完整回答
反對 回復 2021-11-19
  • 2 回答
  • 0 關注
  • 182 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號