Чтобы реализовать систему, которая будет уведомлять о том, что пользователь уже зарегистрирован, вам нужно сначала проверить, есть ли уже зарегистрированный пользователь с таким же логином в базе данных перед выполнением операции вставки.
Это потребует изменения вашего PHP кода для проверки наличия логина перед попыткой вставки. Вот как можно изменить ваш код:
```php
<?php
require_once __DIR__ . '/helpers.php';
// Получение данных из формы регистрации
$login = $_POST['login'];
$password = $_POST['password'];
// Подключение к базе данных
$connect = getDB();
// Проверка, существует ли уже пользователь с таким логином
$sql_check = "SELECT * FROM users WHERE login = '$login'";
$result = $connect->query($sql_check);
if ($result->num_rows > 0) {
// Если пользователь с таким логином уже существует
echo 'Данный пользователь уже зарегистрирован';
} else {
// Запись данных в базу данных
$sql_insert = "INSERT INTO users (login, password) VALUES ('$login', '$password')";
if ($connect->query($sql_insert) === TRUE) {
echo 'Регистрация прошла успешно!';
} else {
echo 'Ошибка регистрации: ' . $connect->error;
}
}
$connect->close();
?>
```
### Объяснение изменений:
1. **Проверка существования пользователя**: Мы добавили SQL-запрос, чтобы проверить, есть ли уже пользователь с указанным логином. Если результат запроса возвращает строки (`$result->num_rows > 0`), значит, такой логин уже занят.
2. **Условная логика**: Код теперь проверяет, существует ли логин, прежде чем пытаться его вставить. Если логин уже существует, выводится сообщение "Данный пользователь уже зарегистрирован".
### Дополнительные рекомендации:
- **Безопасность**: Рассмотрите возможность использования подготовленных выражений (prepared statements) для защиты от SQL-инъекций.
- **Хеширование паролей**: Не храните пароли в открытом виде. Используйте такие функции, как `password_hash()` и `password_verify()`, чтобы безопасно хранить и проверять пароли.
- **Валидация данных**: Добавьте валидацию данных, чтобы убедиться, что логин и пароль соответствуют вашим требованиям (длина, наличие специальных символов и т.д.).