[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Недопонимание с регистрозависимостью
acerrusm
Привет!
Во время проверки связки логин-пароль столкнулся со странным свойством:
введенный логин является регистроНЕзависимым, а пароль регистроЗАвисимым. Хотя для логина я нигде не использовал strtolower.
Например: в БД записаны логин (admin) и пароль (Pass_word).
  • Комбинация admin - Pass_word, дает результат validated
  • Комбинация ADMin - Pass_word, дает результат validated
  • Комбинация admin - Pass_WORd, дает результат NOT validated
Почему так происходит? Это как то связано с тем, что в html-форме у поля для пароля прописано type="password", а для логина type="text"?
php-код
if (isset($_POST['login_btn'])) {
if ((!empty($_POST['login_login'])) && (!empty($_POST['login_pass']))) {
$login = trim(htmlspecialchars($_POST['login_login']));
$pass = trim(htmlspecialchars($_POST['login_pass']));
$remember = 0;
$remember = (!empty($_POST['remember']) ? 1 : 0);

if (!empty($arr = validate_login($login, $pass, $remember))){
echo "validated" ;
}
else{
echo "not validated";
}
}

else{
header("Location: /");
}
}


function validate_login($login, $pass, $remember){
global $handler;

$sql = "SELECT user_id,
user_account,
user_name,
user_pwd
FROM users
WHERE user_account = ?"
;

try {
$query = $handler->prepare($sql);
$query -> execute(array($login));
$result = $query->fetchAll(PDO::FETCH_ASSOC);
$query -> closeCursor();
if ((pwd_verification($pass, $result[0]['user_pwd'])) == TRUE){
return $result;
}
else {
return false;
}
}
catch (Exception $e) {
echo "Ошибка с запросом";
return false;
}
}


function pwd_verification($pass, $login_pass){
if (($pass === $login_pass)) {
return true;
}
else{
return false;
}
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.