2016-08-17 175 views
0
class MY_Controller extends CI_Controller 
{ 
    public $data = array(); 

    function __construct() 
    { 
     parent::__construct(); 
     if($this->session->userdata('group_id') == FALSE) { 
      redirect('user/login'); 
     }else { 
      //How download sessions? 
      //How Get the session given group_id? 
      //How Redirect to the appropriate controller? 
      if grup_id == 1 then goto administrator/dashboard 
       //if not exist grup id then goto /index 
      } 
     } 
    } 

CI中的PHP框架笨會議PHP的

+0

我很想用儀表板登錄。管理員,經理和用戶 –

+1

看看 - http://stackoverflow.com/help/how-to-ask –

+1

歡迎來到SO。 請閱讀[我可以問哪些主題](http://stackoverflow.com/help/on-topic) 和[如何提出一個好問題](http://stackoverflow.com/help/how-to - 問) 和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) 以及如何創建[最小,完整和可驗證的例子] (http://stackoverflow.com/help/mcve) SO是**不是一個免費的編碼或代碼轉換或調試或教程或庫查找服務** 您還必須表明,你已經努力解決你自己的問題。 – RiggsFolly

回答

1

你可以試試這個解決您的問題。

class MY_Controller extends CI_Controller 
{ 
    public $data = array(); 

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

     if($this->session->userdata('group_id') == 1) { 
      redirect('administrator/dashboard'); 
     } esle if($this->session->userdata('group_id') == 2) { 
      redirect('manager/dashboard'); 
     } esle if($this->session->userdata('group_id') == 3) { 
      redirect('user/dashboard'); 
     } else { 
      redirect('user/login'); 
     } 
    } 
} 
+0

謝謝!我想爲經理和用戶使用其他記錄選項,如果你知道如何? –

+0

你可以在MY_Controller文件中檢查現在的變化。 –

0

有一個類型不匹配。 group_id可以是int或null,不是布爾值。還要從會話中檢索一次值並將其分配給變量,以避免反覆調用會話的成員函數。

function __construct() 
{ 
    parent::__construct(); 
    group_id = $this->session->group_id; 
    if (is_int(group_id)) // if group_id is set and assigned an int 
    { 
     switch ($group_id) 
     { 
      case 1: 
       redirect('administrator/dashboard'); 
       break; 
      ... 
      default: 
       redirect('defaultpage'); 
     } 
    } 
    else 
    { 
     redirect('user/login');  
    } 
} 

這是說,你可能不希望推倒重來,並使用ion_auth,對CI的用戶管理和認證類。