Codeigniter 如何区分登录和会话的多个面板?
它创建了会话,但没有转到index2和index3,总是使用else重定向并转到index方法,但我想转到index2和index3来处理其他面板 始终为所有“仅提交其他”条件成功创建会话 当我使用代码的print\r查看数据是否正在提交时,也会显示我的表单数据和数组 问题是它并没有显示任何错误,只是用索引方法的文件重定向 我的控制器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::_
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')