codeigniter активная запись где, или_где?

Я использую Active Record на CodeIgniter. Я смущен тем, какой подход я должен выбрать. В настоящее время наша система входа позволяет пользователю использовать имя пользователя/электронную почту для входа вместе с паролем. Но моя текущая активная запись, кажется, позволяет пользователю войти в систему, если он решит использовать электронную почту + без пароля.

Прямо сейчас это мой запрос:

$this->db->select('id,level,email,username');
$this->db->where('email',$user);
$this->db->or_where('username',$user);
$this->db->where('password',$pass);
$query = $this->db->get('users');

if($query->num_rows>0)
  return TRUE;
else
  return FALSE;

Пример ввода:

  • Имя пользователя:test | Пароль:пароль | Результат:Успех
  • Имя пользователя:тест | Пароль:пустой | Результат:Ошибка
  • Имя пользователя:test@domain.com | Пароль:пароль | Результат:Успех
  • Имя пользователя:test@domain.com | Пароль:пустой | Результат:Успех

Четвертый тестовый вход должен бытьНеудачныйв результате, но кажется, что он регистрирует пользователя, даже если пароль пуст.

6
задан Leandro Garcia 26 March 2012 в 10:36
поделиться