Проверка на заетост на потребителско име
В момента нашата регистрация има един проблем - нов потребител на нашия сайт може да се регистрира под вече съществуващо потребителско име, което, разбира се, е недопустимо.
За решаване на проблема е необходимо преди заявката
за добавяне на нов потребител в базата
данни, да се изпълни SELECT заявка, която
ще провери дали желаното потребителско име е заето или не. Ако
не е заето - регистрираме, ако е заето - не
регистрираме, а извеждаме съобщение за това.
Нека напишем този код:
<?php
if (!empty($_POST['login']) and !empty($_POST['password'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login'";
$user = mysqli_fetch_assoc(mysqli_query($link, $query));
if (empty($user)) {
$query = "INSERT INTO users SET login='$login', password='$password'";
mysqli_query($link, $query);
$_SESSION['auth'] = true;
} else {
// потребителското име е заето, ще изведем съобщение за това
}
}
?>
Модифицирайте вашия код така, че при опит за регистрация да се извършва проверка за заетост на потребителското име и, ако е заето, - да извеждате съобщение за това и да молите за въвеждане на друго потребителско име.