Как сделать, чтобы при не правильной авторизации вывело: "Не верный логин или пароль", все работает, но если только данные в обоих полях не правильные или если использую md5, а не password_hash, а так возвращает пустой signin.php preview в network. Заранее спасибо. Авторизация: PHP: $query = $db->prepare("SELECT * FROM users.users WHERE login =?"); $query->execute([$login]); $count = $query->rowCount(); if ($count > 0) { $user = $query->fetch(); if (password_verify($password, $user["password"])) { $_SESSION['user'] = [ "avatar"=>$user['avatar'], "email"=>$user['email'], ]; $responce = [ "status"=>true, ]; echo json_encode($responce); } }else { $responce = [ "status"=>false, "message"=>'Не верный логин или пароль', ]; echo json_encode($responce); } Регистрация: PHP: if ($password === $password_confirm) { $password = password_hash($password,PASSWORD_DEFAULT); $query = $db->prepare("INSERT INTO users.users(full_name,login,email,password,avatar) VALUES(?,?,?,?,?)"); $query->execute([$full_name,$login,$email,$password,$path]); $responce = [ "status"=>true, "message"=>'Регистрация прошла успешно', ]; echo json_encode($responce); }else { $responce = [ "status"=>false, "type"=>1, "message"=>'Пароли не совпадают', ]; echo json_encode($responce); } JS авторизация: Код (Text): $('.login-btn').click(function (e) { e.preventDefault(); $(`input`).removeClass('error'); let login = $('input[name="login"]').val(), password = $('input[name="password"]').val(); $.ajax({ url: 'vendor/signin.php', type: 'POST', dataType: 'json', data: { login: login, password: password }, success (data) { console.log(data); if (data.status) { document.location.href = 'profile.php'; } else { if (data.type === 1) { data.fields.forEach(function (field) { $(`input[name="${field}"]`).addClass('error'); }); } $('.msg').removeClass('none').text(data.message); } } }); });
@Miron9900 У вас написано: PHP: <?php if ($count > 0) { if (password_verify($password, $user["password"])) { } else { // нифига не делаем } }else { // выводим сообщение 'Не верный логин или пароль' } вот нифига не делаем надо исправлять может так заработает: PHP: <?php $query = $db->prepare("SELECT * FROM users.users WHERE login =?"); $query->execute([$login]); $count = $query->rowCount(); $responce = [ "status"=>false, "message"=>'Не верный логин или пароль', ]; if ($count > 0) { $user = $query->fetch(); if ( password_verify( $password, $user["password"] ) ) { $_SESSION['user'] = [ "avatar"=>$user['avatar'], "email"=>$user['email'], ]; $responce = [ "status"=>true, ]; } } echo json_encode($responce); die();