На сайте не проходит авторизация, в то время, как при регистрации все данные записываются в бд без проблем
Форма:
<div class="col-md-8 mb-3">
Авторизация
<form>
<label>Login</label>
<input type="text" name="login" class="form-control col-md-6" id="login">
<label>Password</label>
<input type="password" name="password" class="form-control col-md-6" id="password">
<div class="alert alert-danger mt-4 col-md-6" id="errorBlock" style="display: none"></div>
<button class="btn btn-success mt-2" id="auth_user">Войти</button>
</form>
</div>
Ajax запрос:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$('#auth_user').click(function(){
var login = $('#login').val();
var password = $('#password').val();
$.ajax({
url: 'ajax/auth.php',
type: 'POST',
cache: false,
data: {'login':login, 'password':password},
dataType: 'html',
success: function(data){
if(data == 'Готово'){
$('#auth_user').text('Готово');
$('#errorBlock').hide();
document.location.reload(true);
}
else {
$('#errorBlock').show();
$('#errorBlock').text(data);
}
}
});
});
</script>
auth.php:
<?php
$login = trim(filter_var($_POST['login'], FILTER_SANITIZE_STRING));
$password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
$hash = "3h#%89*H#($h%!~fh";
$password = md5($password.$hash);
require_once "../sqlconnect.php"; #Подключение к бд через pdo
$sql = 'SELECT `id` FROM `userinfo` WHERE `login` = :login && `password` = :password';
$query = $pdo->prepare($sql);
$query->execute(['login' => $login, 'password' => $password]);
$user = $query->fetch(PDO::FETCH_OBJ);
if ($user->id == 0) {
echo 'Такого пользователя не существует';
}
else{
setcookie('log', $login, time() + 3600*24, '/');
echo "Готово";
}
echo 'Готово';
?>
sqlconnect.php:
<?php
$user = 'root';
$pass = '';
$db = 'users';
$host = 'localhost';
$dsn = 'mysql:host='.$host.';dbname='.$db;
$pdo = new PDO($dsn, $user, $pass);
?>