Судя по вашему описанию и предоставленному коду, возникновение пустого экрана при попытке регистрации с уже существующим логином может быть связано с несколькими проблемами в PHP-коде. Давайте разберем возможные причины и предложение решения.
### Возможные причины:
1. **Ошибка в коде**: Если в PHP коде есть ошибка, это может привести к тому, что скрипт не выполняется и, как следствие, отображается пустой экран.
2. **Необработанные исключения**: Если вы не проверяете существование логина и не обрабатываете это условие, может возникнуть ситуация, когда сообщение об ошибке просто не выводится.
3. **Неправильное имя переменной**: В PHP-коде у вас указано `$_POST['passwor']`, а в форме вы передаете поле с именем `password`. Это ошибка, которая приведет к тому, что переменная `$password` будет пустой.
### Рекомендации по исправлению:
1. **Проверка ошибок**: Включите отображение ошибок на время разработки, добавив следующие строки в начало вашего PHP скрипта:
```php
error_reporting(E_ALL);
ini_set('display_errors', 1);
```
2. **Исправьте имя переменной**:
Замените строку:
```php
$password = $_POST['passwor'];
```
на
```php
$password = $_POST['password'];
```
3. **Добавьте логику проверки существующих пользователей**: Используйте SQL-запрос для проверки, существует ли пользователь с таким логином. Например:
```php
$existingUser = checkUserExists($login); // Предположим, что у вас есть такая функция
if ($existingUser) {
echo "Данный пользователь уже зарегистрирован";
exit; // Завершите выполнение скрипта
}
```
4. **Функция для проверки существования пользователя**: Пример функции, которая проверяет существование логина в базе данных:
```php
function checkUserExists($login) {
// Здесь должна быть ваша логика для подключения к базе данных
// Пример:
$query = "SELECT * FROM users WHERE login = ?";
$stmt = $db->prepare($query);
$stmt->bind_param("s", $login);
$stmt->execute();
$result = $stmt->get_result();
return $result->num_rows > 0;
}
```
### Итоговый код:
Ваш PHP-код может выглядеть примерно так:
```php
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once __DIR__ . '/helpers.php';
// Получение данных из формы регистрации
$login = $_POST['login'];
$password = $_POST['password'];
// Проверка на существование пользователя
$existingUser = checkUserExists($login);
if ($existingUser) {
echo "Данный пользователь уже зарегистрирован";
exit; // Завершаем выполнение скрипта
}
// Логика для регистрации нового пользователя...
```
Убедитесь, что вы выполняете проверку ошибок и тестируете код после внесения изменений. Если у вас будут дополнительные вопросы или возникнут трудности, не стесняйтесь задавать их!