Я хочу выработать такую функциональность, чтобы количество неудачных попыток входа в систему для пользователей было ограничено 5, а затем отправьте им сообщение об этом.
Ниже приведены мои коды:
$attempts = $this->input->post('attempts');
if ($attempts <= '5')
{
$this->db->where('username', $username);
$this->db->set('attempts', '`attempts`+ 1', FALSE);
$this->db->update('tb_user');
}
else
{
echo "Your account is locked!";
}
Приведенные выше коды могут обновлять таблицу и попытки столбца базы данных, но записи все еще обновляются после 5 попыток, как в случае: сохранение 6-й, 7-й и n-й неудачных попыток входа в систему.
Что я делаю не так и как я могу это исправить?
Получить количество попыток из базы данных вместо того, чтобы перейти от внешнего интерфейса.
$attempts = $this->db->where('username', $username)->get('tb_user')->row()->attempts;
if ($attempts > 4)
{
echo "Your account is locked!";
}
else
{
$this->db->where('username', $username);
$this->db->set('attempts', ($attempts + 1), FALSE);
$this->db->update('tb_user');
}
Других решений пока нет …