Пытаюсь сделать авторизацию в index.php. Раньше я делал всё в разных файлах. Сейчас пытаюсь сделать по принципу единой точки входа и переношу код в index.php. Раньше авторизация работала нормально, но после того, как я перенёс всё в index.php у меня стала вылазить эта ошибка. Как это исправить?
Файл index.php:
<?php
session_start();
require_once 'core/config/connect.php';
require_once 'core/options/Auth.php';
$db = new Database('localhost', 'test11amadopro', 'yberpoc', 'RG543fdsg');
$mode = $_GET['method'];
if(isset($_SESSION['auth'])){
switch ($mode) {
case 'show':
require_once 'core/views/page.php';
}
} else {
$login = htmlspecialchars($_POST['ALogin']);
$password = htmlspecialchars($_POST['APassword']);
$auth = new Auth($login, $password, $db);
$check_user = $auth->auth();
if($check_user) {
header('Location: ../?method=show');
} else {
header('Location: ../?method=login');
}
require_once 'core/views/auth.php';
}
unset($_SESSION['message']);
Файл с HTML разметкой auth.php:
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Авторизация</title>
<link rel="stylesheet" href="../css/style.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
</head>
<body>
<div class="wrapper">
<div class="wrapper__title">
<h1>Авторизация</h1>
</div>
<form class="wrapper__form" action="index.php" method="post">
<input class="wrapper__input" type="text" name="ALogin" placeholder="Логин">
<input class="wrapper__input" type="password" name="APassword" placeholder="Пароль">
<input class="wrapper__button" type="submit" name="login">
<?if($_SESSION['message']):?>
<p class="message"> <?=$_SESSION['message']?></p>
<?endif?>
</form>
</div>
</body>
</html>
Файл с классом Auth.php:
<?php
class Auth
{
private $ALogin;
private $APassword;
private $dataBase;
public function __construct($ALogin, $APassword, $dataBase)
{
$this->ALogin = $ALogin;
$this->APassword = $APassword;
$this->dataBase = $dataBase;
}
public function auth()
{
$check_user = $this->dataBase->getQuery("SELECT * FROM `auth` WHERE `ALogin` = '$this->ALogin' AND `APassword` = '$this->APassword'");
if (mysqli_num_rows($check_user) > 0) {
$user = mysqli_fetch_assoc($check_user);
$_SESSION['auth'] = ["AId" => $user['AId']];
return true;
} else {
$_SESSION['message'] = 'Вы ввели неверный логин или пароль';
return false;
}
}
}