2013-12-12 93 views
0

我在我的CodeIgniter項目中有一個登錄助手。 在控制器的每個構造函數中,我調用一個函數來檢查用戶是否已登錄。 但是,在註銷登錄時調用函數(getSetup)時,會出現login_view,但也會出現另一個視圖db_manage。但我不想在未登錄時顯示內容。如何解決此問題?身份驗證CodeIgniter視圖

感謝

function __construct() { 
    parent::__construct(); 
    if (!is_logged_in()) { 
     $this->load->view('login_view'); 
    } 
} 


public function getSetup() { 
    $this->load->view("db_manage"); 
} 

回答

1

這樣:

function __construct() { 
    parent::__construct(); 
    if (!is_logged_in()) { 
     echo $this->load->view('login_view', null, TRUE); 
     exit(); 
    } 
} 
+0

仍給出了相同的結果,每當調用退出我得到一個白色的屏幕。 – David

+0

回答編輯,應該工作。 :) – egig

0

是的,你可以在c'tor不會退出,將來自輸出緩衝區做它的渲染過程停止笨。你不能真正做到這一點從c'tor,它不是真正的c'tor是什麼,它的意思是設置類變量..

你應該檢查從方法登錄,並返回從那裏登錄視圖。

class My_Controller { 
    function ensureLoggedIn() { 
     if(!is_logged_in()) { 
      $this->load->view('login_view'); 
      return False; 
     } 

     return True; 
    } 

    function getSetup() { 
     if(!$this->ensureLoggedIn()) 
      return; 

     .... rest of method ... 
    } 
} 

@egig - 如果你要繞過堆棧,使用框架有什麼意義?