2014-11-02 70 views
0
CREATE TABLE IF NOT EXISTS `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(255) NOT NULL, 
    `password` varchar(255) NOT NULL, 
    `user_type` varchar(20) NOT NULL, 
    `first_name` varchar(25) NOT NULL, 
    `last_name` varchar(25) NOT NULL, 
    `email` varchar(30) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ; 

我的登录系统正常。它的工作.. 我有三个“USER_TYPE” 1.admin 2.supar管理 3.用户codeigniter中的多级登录系统,不能正常工作

我所需要的,如果登录到管理& SUPAR管理员或用户。其重定向三种不同的看法。

+0

待办事项ÿ你想根据用户类型重定向到相应的仪表板? – Asik 2014-11-02 06:30:15

+0

是............ – 2014-11-02 07:54:44

回答

0

好的。检查以下步骤,您可以更改它。

签到控制器

public function signin() 
{ 
    //Assume this is your session details after successful login check 
    $data = array 
    (
     'member_user_id' => $row['id'], 
     'member_username' => $username, 
     'member_usertype' => $row['user_type'], 
     'member_logged_in' => TRUE 
    ); 
    $this->session->set_userdata($data); 

    switch($row['user_type']){ 
    case 'user': 
    redirect('user/dashboard'); 
    break; 
    case 'admin': 
    redirect('admin/dashboard'); 
    break; 
    case 'super_admin': 
    redirect('super_admin/dashboard'); 
    break; 
    } 
} 

而且,你可以验证基于用户类型所需的控制器方法的会话。所以用户不能查看管理员或超级管理员页面,反之亦然。

用户详细信息控制器

public function user_details(){ 

    if ($this->CI->session->userdata('member_usertype') != 'user'){ 
    redirect('login'); 
    } 

    //implementation code here 
} 

联系详情控制器

public function admin_details(){ 

    if ($this->CI->session->userdata('member_usertype') != 'admin'){ 
    redirect('login'); 
    } 

    //implementation code here 
} 

超级管理员详细

public function super_admin_details(){ 

    if ($this->CI->session->userdata('member_usertype') != 'super_admin'){ 
    redirect('login'); 
    } 

    //implementation code here 
} 
+0

thanx bro ............ – 2014-11-03 08:44:23