-1
여기 codeigniter PHP 프레임 워크를 사용하여 만든 mysql db에 저장된 사용자 이름과 비밀번호를 찾는 쿼리입니다.데이터베이스에서 쿼리하여 ID와 비밀번호가 올바르게 작동하지 않음을 확인하십시오.
public function find_user($username,$password)
{
$sql = "SELECT *
FROM users_login
WHERE username = ? AND password = ?";
$query = $this->db->query($sql,array($username,md5($password)));
if($query->num_rows() == 1)
{
return TRUE;
}
else
{
return FALSE;
}
}
여기서 db는 : id,username,password
입니다. 그것이해야하는 것처럼 작동하지 않기 때문에 약간의 실수가 있습니까?
여기 내 컨트롤러입니다. 아마 오류가 여기에 있습니다 : 우선
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Login extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->database(); /* This function it's used to connect to database */
$this->load->model('User','user'); /* This call the model to retrieve data from db */
}
public function index()
{
if(!file_exists('application/views/login.php'))
{
show_404();
}
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('username','username','trim|required|xss_clean');
$this->form_validation->set_rules('password','password','trim|required|xss_clean|callback_check_pass');
if($this->form_validation->run() == FALSE)
{
$data['title'] = "User Access";
$this->load->view('login', $data);
}
else
{
$data['title'] = " ";
$this->load->view('/templates/index',$data);
}
}
public function pass_check($pass)
{
$username = $this->input->post('username');
$result = $this->user->find_user($username,$pass);
if($result)
{
return TRUE;
}
else
{
$this->form_validation->set_message('pass_check','Invalid username or password! Try Again, please!');
return FALSE;
}
}
}
몇 가지 : ** (1) ** 무엇이 질문입니까? ** (2) **'md5'를 사용 하시겠습니까? ['sha1'] (http://php.net/manual/en/function.sha1.php)은 암호 저장에 더 좋은 옵션입니다. – rdlowrey
무엇이 문제입니까? –
나는 글을 편집했다. 어떤 실수가 있는지 알고 싶습니다 – Mazzy