2012-08-13 42 views
1

我想檢查是否設置$this->current_user,否則重定向到登錄頁面,但因爲牆是我的默認路由它循環並給我一個500內部服務器錯誤,有沒有任何想法如何使用它?我使用PyroCMS,他們使用IonAuth如何避免這種循環當試圖達到索引()

class Wall extends Public_Controller { 

    public function __construct() { 
     parent::__construct(); 

    if (empty($this->current_user)) { 
     $this->session->set_flashdata('error', 'Debes iniciar sesión para acceder a esta página'); 
     redirect(site_url()); 
    } 
    } 

} 

歡呼和由於事先

+0

嗯......重定向到別的地方?這裏有什麼問題? – orourkek 2012-08-13 20:56:33

+0

@orourkek Wall被定義爲我的默認控制器,所以任何時候應用程序都會嘗試在沒有登錄的情況下到達index(),它會在其他任何地方執行__construct,因此循環和重定向到其他地方不是一個選項,因爲打破整個應用程序邏輯 – ReynierPM 2012-08-13 21:13:34

+0

那麼你說你已經重定向到'/ login',但你只有'site_url()'作爲重定向參數。你從字面上回答了問題*內的問題* ... – orourkek 2012-08-13 21:24:08

回答

1

重定向()方法重定向到URL。你可以使用重定向(site_url('login'));只要你確定你的控制器準備好了'login'的名字。

如果你不想使用SITE_URL(),你也可以在硬編碼像網址:

重定向( 'http://www.yoursite.com/login');

+0

謝謝之前沒有想過!它現在起作用,我直接重定向到登錄表單 – ReynierPM 2012-08-13 21:19:13