2013-04-17 120 views
1

我現在面臨使用重定向_construct功能, 在時間表控制器有問題我寫了下面的代碼和我得到的瀏覽器「重定向不笨_construct功能工作

此問題可能出現錯誤有時通過禁用或拒絕接受 餅乾 引起的。

這裏是我的代碼

class Timesheet extends MY_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('timesheet_model'); 
     //$this->load->library('auth'); 
     $username=$this->session->userdata('logged_in'); 

     //$this->load->model('login_model'); 
     if($username['fullname']!=""){ 
     redirect('timesheet'); 

     } 
     else{ 
     redirect('login'); 
     } 

    } 

請幫我找到擺脫這個問題的方法。 謝謝。

回答

2

它看起來像我在一個循環中四處走動。

您檢查$ username數組中的fullname元素是否爲空,如果是,則重定向回到同一個控制器。我敢打賭,在網絡服務器拋出你提到的錯誤之前,它會像這樣一個圈子裏一段時間。

如果我正在閱讀您正在嘗試正確執行的操作,是否在您的Timesheet構造函數中調用另一個函數(如果fullname元素存在以顯示您嘗試顯示的任何信息)?

我建議改變你的邏輯來執行以下操作:

if($username['fullname'] == ""){ 
    redirect('login'); 
    } 
    else{ 
    //go to another controller method here 
    } 
+0

雅感謝。我幾分鐘前才意識到。我在回答中提到了它。感謝你的回答。 – Hriju

0

確定。我知道了。該錯誤僅僅是因爲我重定向到了我編寫代碼的同一個控制器。每當它重定向到時間表時,它就會進入構造函數並重新導向到時間表。同樣的事情就像無盡的循環。

所以故障被重定向到相同的控制器。

0

使用重定向這樣的:redirect('timesheet', 'refresh');