У меня не работает авторизация и подключение к бд файлом 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>
`
и я не могу понять что мне нужно сделать, ведь когда я пытаюсь пройти авторизацию у тебя не сайте, выдаёт ошибку "Необходимо заполнить все поля формы.", хотя я и так использую все данные, со своего файла.