У меня не работает авторизация и подключение к бд файлом login.php и выдаёт ошибку "Необходимо заполнить все поля формы."

Вот моя таблица пользователей на бд mysql

'CREATE TABLE IF NOT EXISTS users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);'

Это файл регистрации php

'<?php
// Подключение к базе данных MySQL
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bd_warrior";

$conn = new mysqli($servername, $username, $password, $dbname);

// Проверка подключения
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

// Обработка данных из формы
if(isset($_POST['first'], $_POST['email'], $_POST['password'], $_POST['repassword'])) {
$username = $_POST['first'];
$email = $_POST['email'];
$password = $_POST['password'];
$repassword = $_POST['repassword'];

// Проверка на совпадение паролей
if ($password != $repassword) {
    die("Пароли не совпадают");
}

// Хеширование пароля (рекомендуется)
$password_hashed = password_hash($password, PASSWORD_DEFAULT);

// Подготовленный запрос для вставки данных в базу данных
$stmt = $conn->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, 
?)");
$stmt->bind_param("sss", $username, $email, $password_hashed);

if ($stmt->execute()) {
    echo "Регистрация успешно завершена";
} else {
    echo "Ошибка при регистрации: " . $conn->error;
}

$stmt->close();
} else {
echo "Необходимо заполнить все поля формы.";
}

$conn->close();
?>'

Это файл логина php

'<?php
// Подключение к базе данных MySQL
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bd_warrior";

$conn = new mysqli($servername, $username, $password, $dbname);

// Проверка подключения
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

// Обработка данных из формы
if(isset($_POST['username'], $_POST['password'])) {
$username = $_POST['username']; // Заменяем $first на $username
$password = $_POST['password'];

// Подготовленный запрос для выбора данных из базы данных
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?"); // Заменяем first на 
username
if ($stmt) {
    $stmt->bind_param("s", $username);
    $stmt->execute();
    $result = $stmt->get_result();

    if ($result->num_rows > 0) {
        $user = $result->fetch_assoc();
        // Проверка пароля
        if (password_verify($password, $user['password'])) {
            echo "Вы успешно вошли!";
        } else {
            echo "Неверный логин или пароль.";
        }
    } else {
        echo "Пользователь с таким именем не найден.";
    }

    $stmt->close();
} else {
    echo "Ошибка подготовки запроса.";
}
} else {
echo "Необходимо заполнить все поля формы.";
}

$conn->close();
?>'

и вот html файл логина

'<!DOCTYPE html>
<html lang="zxx">
<head>
<title>Game Warrior</title>
<meta charset="UTF-8">
<meta name="description" content="Game Warrior Template">
<meta name="keywords" content="warrior, game, creative, html">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Favicon -->   
<link href="img/favicon.ico" rel="shortcut icon"/>

<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto:400,400i,500,500i,700,700i" 
rel="stylesheet">

<!-- Stylesheets -->
<link rel="stylesheet" href="css/bootstrap.min.css"/>
<link rel="stylesheet" href="css/font-awesome.min.css"/>
<link rel="stylesheet" href="css/owl.carousel.css"/>
<link rel="stylesheet" href="css/style.css"/>
<link rel="stylesheet" href="css/animate.css"/>


<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->





 <html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta
        name="viewport"
        content="width=device-width, initial-scale=1.0"
    />
    <title>regis</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f3f3f3;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }

        .main {
            background-color: #fff;
            border-radius: 15px;
            box-shadow: 0 0 20px
                rgba(0, 0, 0, 0.2);
            padding: 20px;
            width: 300px;
        }

        .main h2 {
            color: #FFA500;
            margin-bottom: 20px;
        }

        label {
            display: block;
            margin-bottom: 5px;
            color: #555;
            font-weight: bold;
        }

        input[type="text"],
        input[type="email"],
        input[type="password"],
        select {
            width: 100%;
            margin-bottom: 15px;
            padding: 10px;
            box-sizing: border-box;
            border: 1px solid #ddd;
            border-radius: 5px;
        }

        button[type="submit"] {
            padding: 15px;
            border-radius: 10px;
            border: none;
            background-color: #FFA500;
            color: white;
            cursor: pointer;
            width: 100%;
            font-size: 16px;
        }
    </style>
</head>

<body>
    <div class="main">
        
        <a class="site-logo" href="index.html">
            <img src="img/logo.png" alt="">
        </a>
        
        <h2>Логин</h2>
        <form action="php/login.php" method="post">
            <label for="first">Имя:</label>
            <input type="text" id="first" name="first" required />
            <label for="password">Пароль:</label>
            <input type="password" id="password" name="password" pattern="^(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9])\S{8,}$" title="Пароль должен содержать по крайней мере одну цифру, один алфавит, один символ и быть длиной не менее 8 символов" required />
            <button type="submit">Подтвердить</button>

            
        </form>
    </div>





<!-- Footer section -->

<!-- Footer section end -->


<!--====== Javascripts & Jquery ======-->
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/owl.carousel.min.js"></script>
<script src="js/jquery.marquee.min.js"></script>
<script src="js/main.js"></script>
</body>
`

и я не могу понять что мне нужно сделать, ведь когда я пытаюсь пройти авторизацию у тебя не сайте, выдаёт ошибку "Необходимо заполнить все поля формы.", хотя я и так использую все данные, со своего файла.


Ответы (0 шт):