Я собираюсь попытаться изо всех сил объяснить это, потому что я не уверен, полностью ли я понимаю, что происходит.CodeIgniter, ограничивающий количество логинов
Я создал приложение для кодирования, где пользователь должен войти в систему. Вход в систему работает последние три недели, и с тех пор я его не трогал. Сегодня после успешного входа в систему в несколько раз под пользователем администратора я внезапно не могу войти с помощью этой конкретной учетной записи, хотя я могу с другими учетными записями.
С тех пор я разорвал свой код, пытаясь выяснить, что происходит. Кажется, что процесс входа в систему работает, но после того, как сеансы установлены, он отключает их, и пользователь больше не выполнил вход в систему.
Вопрос в том, есть ли количество раз, когда сеансы могут быть установлены на определенном пользователь или это может быть связано с настройками phpmyadmin? Я нахожусь в недоумении здесь только о том, что делать, у меня никогда не было ничего подобного, и, честно говоря, не имеет никакого смысла, что это произойдет только с одним пользователем.
Это проверка Войти в мой контроллер
function checkLogin(){
//This function checks the login to make sure that the user is indeed entering the right email and password
$salt = '******';
$loginObject = array(
'email' => $this->input->post('email'),
'password' => md5($salt . $this->input->post('password'))
);
$login = $this->users_model->checkUser($loginObject);
if($login == true) {
$currentUser = $login;
$this->session->set_userdata('currentUser', $currentUser);
$this->session->set_userdata('loggedin', true);
$this->user = $this->session->userdata('currentUser');
$type = $this->users_model->getUser($this->user->user_id);
switch($type[0]->type) {
case 1:
redirect('/myStories/'.$this->user->pen_name);
break;
case 2:
redirect('recent/');
break;
case 3:
redirect('recent/');
break;
case 'banned':
$this->session->sess_destroy();
redirect('banned/');
break;
case 'deactive': // deactivate
redirect('home');
break;
}
} else {
redirect('home/errorPage');
}
}
и это то, что у меня есть в моей модели
public function checkUser($loginObject)
{
//This sets the email and the password from the loginObject and then gets the user
$this->db->where('email', $loginObject['email']);
$this->db->where('password', $loginObject['password']);
$query = $this->db->get('user_tbl');
if($query->num_rows() > 0){
return $query->row();
}else{
return false;
}
}
Как я сказал, что это работает для всех пользователей, кроме одного, и до того, как час назад тоже работал над этим.
1) Показать код 2) Существует небольшая разница между переменными сеанса PHP и Code Igniter в CI envoirment. –
Что делает phpMyAdmin с Codeigniter? Вы имеете в виду логин MySQL? – Dai
@ noobie-php только что разместил мой контроллер и модель, извините, когда я писал, он отправил его, прежде чем я захочу. – zazvorniki