이 유형의 모든 질문을 확인했지만 어느 것도 저에게 적합하지 않습니다. 희망을 좀주세요. index라는 컨트롤러와 Index_model이라는 모델이 있습니다. 인덱스 컨트롤러에 사용자 로그인 및 서명 함수를 작성하고 모델에서 모든 관련 쿼리를 수행했습니다. codeigniter 콜백 함수를 제외하고는 모두 잘 작동합니다.CodeIgniter 사용자 로그인을 위해 콜백이 작동하지 않습니다.
false를 반환 할 때마다 콜백을 사용하여 사용자 로그인 정보의 유효성을 검사하려고 할 때 콜백을 제거하면 올바르게 작동합니다. 나는 내가 잘못하고있는 곳을 얻지 못하고있다. 컨트롤러와 모델에 대한 아래의 코드를 찾으십시오. 미리 감사드립니다.
컨트롤러 :
class Index extends CI_Controller{
public function __construct(){
parent:: __construct();
$this->load->helper('url');
$this->load->model('index_model');
}
public function signin(){
$this->load->helper('form');
$data['title'] = "Sign In";
$data['headline'] = "Sign In";
$data['introduction'] = "Sign In to manage your business, clients and more!";
$data['include'] = "user/signin";
$this->load->view('template/template', $data);
}
public function login(){
$this->load->helper('url');
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required|callback_validate_login');
$this->form_validation->set_rules('password', 'Password', 'required|md5');
if($this->form_validation->run() == TRUE){
$data['msg'] = "User Login Successfully!!";
$this->load->view('user/home', $data);
}else{
$this->signin();
}
}
public function validate_login(){
$this->load->library('form_validation');
$result = $this->index_model->validate_user();
if($result == TRUE){
return TRUE;
}else{
$this->form_validation->set_message('validate_login', 'Incorrect username/password.');
return FALSE;
}
}
}
모델 :
class Index_model extends CI_Model{
public function __construct(){
$this->load->database();
}
/******User Login*************/
public function validate_user(){
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('user');
if($query->num_rows() == 1){
return TRUE;
}else{
return FALSE;
}
}
}
, 그것은 큰 도움이 될 것입니다 내 코드를 검토하십시오.
를 저장하는 validate_user 기능에서 데이터베이스 테이블 필드
일치하는 경우 MD5 함수를 추가 코드에 몇 가지 변경 원시 암호 ????? –
validate_user() 함수가 반환하는 값 –
validate_user 사용자 이름과 암호가있는 사용자가 데이터베이스에 존재하는지 확인합니다. $ username과 $ password는 POST 데이터로 구성됩니다. –