@denis_21321321

Хочу сделать проверку на уникальность логина, но вы он постоянно выводит, что логин доступен. Почему?

Хочу сделать проверку на уникальность логина , но вы он постоянно выводит , что логин доступен . Почему ?

JavaScript

const input_login = document.querySelector("#input_login");
const availability = document.querySelector("#availability");

input_login.onblur = async () => { 
	if(input_login.value != "")   {
    const username = input_login.value;

    const response = await fetch("unique.php", {
        method: 'POST',
        headers:{"Content-Type":'application/x-www-form-urlencoded'},
        body:"username=" + username
    })
    const data = await response.text();

    availability.innerHTML =  await data;
}}


PHP

<?php

$connect = mysqli_connect("localhost", "root", "", "site");

$sql = "SELECT * FROM `users` WHERE `login` = ".$_POST['username']." ";
$result = $connect->query($sql);
if ($result->num_rows > 0) {

  echo 'This username is already taken';
} else {
    echo 'This username is available';
}
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега PHP
$connect = mysqli_connect("localhost", "root", "", "site");

$sql = "SELECT * FROM `users` WHERE `login` = ?";
$stmt = $connect ->prepare($sql);
$stmt->bind_param("s", $_POST['username']);
$stmt->execute();
$stmt->store_result();

if ($stmt->num_rows > 0) {
    echo 'This username is already taken';
} else {
    echo 'This username is available';
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы