我正在使用Codeigniter登录系统。我没有错误,但它不起作用。
这是我的表格:
<div class="row">
<div class="col-md-4 offset-md-4 bg-primary">
<?php echo validation_errors() ?>
<?php echo form_open('admin') ?>
<h3 class="text-center"><?php echo $title ?></h3><hr>
<div class="form-group">
<label>UserName:</label>
<input type="text" name="username" class="form-control" placeholder="username">
</div>
<div class="form-group">
<label>Password:</label>
<input type="password" name="password" class="form-control" placeholder=" password">
</div>
<div class="form-group">
<input type="submit" name="submit" class="form-control btn btn-success" value="Log in">
</div>
<?php echo form_close() ?>
</div>
控制器:
class admin extends CI_Controller{
//login
public function index(){
$data['title'] = 'Login';
$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('admin/header',$data);
$this->load->view('admin/login_form',$data);
$this->load->view('admin/footer');
}
else{
$this->load->model('admin_model');
$username = $this->input->post('username');
$password = md5($this->input->post('password'));
$user_id = $this->admin_model->login($password,$username);
if($user_id){
$userdata = array(
'username' => $username,
'logged_in' => true
);
$this->session->set_userdata('logged_in', $userdata);
$this->session->set_flashdata('logged_in','you are now logged in');
die('success');
}
else{
$this->session->set_flashdata('login_failed', 'login credential are wrong');
die('fail');
}
}
}
}
这是模型:
<?php
class admin_model extends CI_Model{
public function __construct(){
$this->load->database('theory');
}
//login
public function login($username,$password){
$this->db->where('username',$username);
$this->db->where('password',$password);
$result = $this->db->get('users');
if($result->num_rows() == 1){
return $result->row(0)->id;
}
else{
return false;
}
}
}
?>
它没有错误,但也没有工作,我无法理解为什么。 请帮助人
答案 0 :(得分:5)
$user_id = $this->admin_model->login($password,$username);
应该是
$user_id = $this->admin_model->login($username,$password);