2016-08-17 78 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的用户管理和认证类。