我的代码点火器登录代码工作了一段时间并停止



我的代码点火器登录代码工作了一段时间,然后停止。我还注意到,每当我清除浏览器缓存和其他参数时,它也会停止工作,直到我再次更改用户名和密码。

这是我的控制器代码

// Log in user
public function login(){
$data['title'] = 'Sign In';
$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('templates/header');
$this->load->view('admins/index', $data);
$this->load->view('templates/footer');
} else {
// Get username
$username = $this->input->post('username');
// Get and encrypt the password
$password = md5($this->input->post('password'));
// Login user
$user_id = $this->admin_model->login($username, $password);
if($user_id){
// Create session
$user_data = array(
'user_id' => $user_id,
'username' => $username,
'logged_in' => true
);
$this->session->set_userdata($user_data);
// Set message
//set message
$this->session->set_flashdata('admin_loggedin', 'Welcome, You are now logged in');
redirect('admins/view');
} else {
// Set message
$this->session->set_flashdata('login_failed', 'Oops, Your username or password is not correct!');
redirect('admins');
}       
}

这是我的模型代码

// Log user in
public function login($username, $password){
// Validate
$this->db->where('username', $username);
$this->db->where('password', $password);
$result = $this->db->get('admins');
if($result->num_rows() == 1){
return $result->row(0)->id;
} else {
return false;
}
}

这是我的.htaccess代码

RewriteEngine On
RewriteCond $1 !^(index.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L]
RewriteCond %{REQUEST_URI} ^system.*

如果认为默认情况下,CodeIgniter 使用会话来存储登录的用户。 因此,这可能是您的情况 - 通过清除浏览器缓存,您可以清除存储会话 ID 的 cookie,会话将失效,从而导致您注销。

最新更新