Проверка логина на занятость
Сейчас наша регистрация имеет одну проблему - новый пользователь нашего сайта может зарегистрироваться под уже существующим логином, что, конечно же, недопустимо.
Для решения проблемы необходимо перед запросом
на добавление нового пользователя в базу
данных, выполнить 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 {
// логин занят, выведем сообщение об этом
}
}
?>
Модифицируйте ваш код так, чтобы при попытке регистрации выполнялась проверка на занятость логина и, если он занят, - выводите сообщение об этом и просите ввести другой логин.