Codeigniter 如何区分登录和会话的多个面板?

Codeigniter 如何区分登录和会话的多个面板?,codeigniter,session,login,admin,Codeigniter,Session,Login,Admin,它创建了会话,但没有转到index2和index3,总是使用else重定向并转到index方法,但我想转到index2和index3来处理其他面板 始终为所有“仅提交其他”条件成功创建会话 当我使用代码的print\r查看数据是否正在提交时,也会显示我的表单数据和数组 问题是它并没有显示任何错误,只是用索引方法的文件重定向 我的控制器 class Main extends CI_Controller { public function __construct() { parent::_

它创建了会话,但没有转到index2和index3,总是使用else重定向并转到index方法,但我想转到index2和index3来处理其他面板

始终为所有“仅提交其他”条件成功创建会话

当我使用代码的print\r查看数据是否正在提交时,也会显示我的表单数据和数组

问题是它并没有显示任何错误,只是用索引方法的文件重定向

我的控制器

class Main extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->load->model('Main_Model');
    $this->load->helper('url');
    $this->load->library('session');

    $method = $this->router->fetch_method();
    $methods = array('index','index2','index3');
    if(in_array($method,$methods))
    {
        if(!$this->session->has_userdata('signup_email'))
        {
            redirect(base_url('Main/login'));
        }
    }       
}

public function index()
{
    if($this->session->has_userdata('signup_email'))
    {
        $this->load->view('BKO/index');
    }
}

public function index2()
{
    if($this->session->has_userdata('signup_email'))
    {
        $this->load->view('Admin/index');
    }
}

public function index3()
{
    if($this->session->has_userdata('signup_email'))
    {
        $this->load->view('Owner/index');
    }
}

public function login()
{   
    //$data['select'] = $this->Main_Model->get_select();
    $this->load->view('login');
}

public function login_process()
{
    //$roll = $this->input->post('select');
    echo $email = $this->input->post('email');
    echo $pass = $this->input->post('upass');

$query = $this->Main_Model->login_process($email,$pass);

    if($query == TRUE)
    {
        $this->session->set_userdata('signup_email');
        $session = array(
                'signup_email' => $email 
                );
        $this->session->set_userdata($session);
        redirect(base_url('Main/check_login'));
    }
    else
    {
        $this->session->set_flashdata('error','Invalid Email or Password');
        redirect(base_url('Main/login'));

    }
}

public function check_login()
{
    if($this->session->userdata() == 'admin@gmail.com')
    {
        echo "Welcome - <h2>".$this->session->userdata('username')."</h2>";
        redirect(base_url('Main/index2'));  
    }

    elseif($this->session->userdata() == 'owner@gmail.com')
    {
        echo "Welcome - <h2>".$this->session->userdata('username')."</h2>";
        redirect(base_url('Main/index3'));  
    }
    else
    {
        echo "Welcome - <h2>".$this->session->userdata('username')."</h2>";
        redirect(base_url('Main/index'));   
    }
}

public function logout()
{
    $this->session->sess_destroy();
    redirect(base_url());
}   

你错过了这里的参数

if($this->session->userdata()=='admin@gmail.com)

应该是这样

if($this->session->userdata('signup_email') == 'admin@gmail.com')

谢谢你删除我的headache@SunnySagar我不会要求你接受我的回答,但我看到你问了很多问题,没有一个是你接受的答案,这让社区感到气馁。我之前不知道这一点,现在我会理解这一点,以供你的建议。
if($this->session->userdata('signup_email') == 'admin@gmail.com')