Я хочу аутентифицировать codeigniter используя таблицу wordpress wp_users. но это не похоже на работу. Я делаю это, потому что мне нужно работать на обеих платформах, поэтому я просто хочу управлять пользователями в одном месте.
вот мой контроллер
public function login(){
if($this->input->post('submit')){
$this->form_validation->set_rules('email', 'Email', 'trim|required');
$this->form_validation->set_rules('password', 'Password', 'trim|required');
if ($this->form_validation->run() == FALSE) {
$this->load->view('admin/auth/login');
}
else {
$data = array(
'email' => $this->input->post('email'),
'password' => md5($this->input->post('password'))
);
$result = $this->auth_model->login($data);
if ($result == TRUE) {
$admin_data = array(
'admin_id' => $result['ID'],
'name' => $result['user_nicename'],
'is_admin_login' => TRUE
);
$this->session->set_userdata($admin_data);
redirect(base_url('admin/dashboard'), 'refresh');
}
else{
$data['msg'] = 'Invalid Email or Password!';
$this->load->view('admin/auth/login', $data);
}
}
}
else{
$this->load->view('admin/auth/login');
}
}
вот модель
public function login($data){
$query = $this->db->get_where('wp_users', array('user_email' => $data['email']));
if ($query->num_rows() == 0){
return false;
}
else{
//Compare the password attempt with the password we have stored.
$result = $query->row_array();
$validPassword = password_verify($data['password'], $result['user_pass']);
if($validPassword){
return $result = $query->row_array();
}
}
}