简体   繁体   English

codeigniter登录2用户

[英]codeigniter login 2 user

I have 2 user and I want to make 2 pages. 我有2个用户,我要制作2页。 if user A logs in, I will show page A and if user B logs in, I will show page B. 如果用户A登录,则将显示页面A;如果用户B登录,则将显示页面B。

How to make controller for that? 如何为此做控制器?

my controller 我的控制器

public function cekLogin()
    {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Username', 'trim|required');
        $this->form_validation->set_rules('password', 'Password', 'trim|required|callback_cekDb');
        if ($this->form_validation->run() == FALSE) {
            $this->load->view('login/login');
        } else {
            if($username=='admin'){
            redirect('Home','refresh');
            } else {
                redirect('HomeMavens','refresh');
            }
        }
    }

my model: 我的模特:

public function login($username, $password)
    {
        $this->db->select('id_user, username, password');
        $this->db->from('user');
        $this->db->where('username', $username);
        $this->db->where('password', MD5($password));
        $query = $this->db->get();
        if($query->num_rows()==1){
            return $query->result();
        }else {
            return false;
        }
    }

it is easy with if and else. if和else很容易。 like this. 像这样。

if($query->num_rows() > 0){
    if($query->row()->name == 'a'){
        $this->load->view('page_A');
    }
    elseif($query->row()->name == 'b'){
        $this->load->view('page_B');
    }
    else{
        $this->load->view('login');
    }
}else {
    return false;
}

My Controller 我的控制器

public function getlogin(){

    $this->form_validation->set_rules('email_address', 'Email', 'trim|required|xss_clean');
    $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_validatelogin');


    if($this->form_validation->run() == FALSE){
        $message    = "Invalid Login Details";
        $this->session->set_flashdata('message', $message);
        redirect(base_url());
    }else{
        $data  =   $this->usermodel->myaccountdetails();

        if($data['type'] == '0'){
            $this->load->view('pageA');
        }else{
            $this->load->view('pageB');
        }
    }
}


public function validatelogin(){
    $credentials      =   array(
        "email_address"=>$this->input->post('email_address'),
        "password"=>md5($this->input->post('password'))
    );
     return $this->loginmodel->getlogin($credentials);
}

Login Model 登录模型

   public function getlogin($credentials){
    $this->db->select('*');
    $this->db->from("tbl_login");
    $this->db->where('email_address = ' . "'" . $credentials['email_address']. "'");
    $this->db->where('password = ' . "'" . $credentials['password'] . "'");
    $this->db->limit(1);
    $query = $this->db->get();
    if($query->num_rows() == 1){
        $row            =   $query->row_array();

        $this->session->set_userdata('admin', $row['id']);
        return true;
    }else{
        return false;
    }
}

User Model 用户模型

   function myaccountdetails()
    {
       $uid  = $this->session->userdata('admin');
       $sql  =  $this->db->query("select * from tbl_login where id = '".$uid."' ");
       return $sql->row_array();
    }   

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM