Вывод глобальной переменной SESSION PHP
Имеется страница авторизации, в коде есть проверка на логин, пароль, если логин или пароль неверны - выводится ошибка из $_SESSION['error_msg'] = 'Неверный логин или пароль!'; Как сделать так, чтобы эту переменную можно было вывести после кнопки "Войти"?
<?php
session_start();
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_reporting(E_ALL);
echo '<p class="p-error">'.$_SESSION['error_msg'] .'</p>';
if(!empty($_SESSION['error_msg'])){
unset($_SESSION['error_msg']);
}
if($_SESSION['admin']) {
header('Location: ../admin/admin-panel.php');
}
require_once '../components/db.php';
?>
<?php
if(!empty($_POST['login']) && !empty($_POST['password'])){
$login = $_POST['login'];
$password = md5($_POST['password']);
$count = mysqli_query($connection, "SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$password' ");
if (mysqli_num_rows($count) == 0 )
{
$_SESSION['error_msg'] = 'Неверный логин или пароль!';
header('Location: ../admin/auth.php');
} else {
header("Location: ../admin/admin-panel.php");
echo "<br/>Да<br/>";
$_SESSION['admin'] = [
"id" => $admin['id'],
"name" => $admin['name']
];
echo mysqli_num_rows($count);
}
}
?>
<body>
<div class="wrapper">
<div class="content">
<?php include '../pages/header.php'; ?>
<div class="section-admin-panel animate__animated animate__backInDown">
<div class="container">
<h1 class="h1-panel">Авторизация в админ-панель</h1>
<div class="form__block">
<form action="" method="POST" class="form">
<input type="login" name="login" placeholder="Введите логин" required><br>
<input type="password" name="password" placeholder="Введите пароль" class="input-top" required><br>
<button type="submit" class="btn-auth"><span>Войти</span></button>
</form>
</div>
</div>
</div>
Ответы (1 шт):
Автор решения: Aleksey Vaganov
→ Ссылка
Уберите строчку кода:
echo '<p class="p-error">'.$_SESSION['error_msg'] .'</p>';
и добавьте перед закрывающим тэгом </form> строчку кода:
<p class="p-error"><?= $_SESSION['error_msg']; ?></p>