管理者がログインしている場合、彼に管理者/ダッシュボードにアクセスします。それ以外の場合はユーザーのダッシュボードに送信します。ログインのコントローラは以下の通りです。ユーザーテーブルでは、私は 'ロール'の列を持ち、値は '1'と '2'です。 1は管理者を表し、2はユーザーを表します。役割のための別のテーブルがあります。コードイグナイターのユーザー役割に基づいてadminとユーザーにリダイレクト
ログインユーザ機能
public function login(){
$data['title'] = 'Login';
//validating form
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if($this->form_validation->run() ===FALSE){
$this->load->view('templates/header');
$this->load->view('users/login', $data);
$this->load->view('templates/footer');
}else{
//Get username
$username = $this->input->post('username');
//Get password in md5
$password= md5($this->input->post('password'));
//Login User.... passing username and password
$user_id = $this->user_model->login($username, $password);
//checking userid
if($user_id){
//creating session if user_id is present
$user_data=array(
'user_id'=>$user_id,
'username'=>$username,
'logged_in' => true
);
$this->session->set_userdata($user_data);
//set message
$this->session->set_flashdata('user_loggedin', 'Login successful');
redirect('posts');
}else{
//creating session if user_id is not present
$this->session->set_flashdata('login_failed', ' Invalid credentials');
redirect('users/login');
}
}
}
あなたのlogin()メソッドを見せてください。 – molagbal
ここでuser_roleフィールドはありますか?セッションに入れていませんか? –
この情報は役に立ちましたか?[ここをクリック](https://stackoverflow.com/questions/41529588/what-is-the-best-practice-for-role-based-login-system-in-codeigniter) –