Не сохраняется старое значение при отправки формы PHP

В общем такая структура. Есть страница login.php с формой, с нее через action данные отправляются в configs/validate.php и при удачной проверке редиректит на админ панель, иначе обратно сюда же. Почему то $_POST пустая в внутри login.php, а внутри validate.php она не пустая. Я примерно догадываюсь почему так, но все же не уверен.

login.php:

<?php require_once 'configs/validate.php'; ?>
<!DOCTYPE html>
....
<form action="configs/validate.php" method="POST">
 <img class="mb-4" src="img/main/ass.png" alt="ASS logo" width="90">
 <label for="inputLogin" class="visually-hidden">Username</label>
 <input type="text" name="login" value="<?= $_POST ?? ''; ?>" id="inputLogin" class="form-control mb-1" placeholder="Введите логин" required="" autofocus="" autocomplete="on">
 <label for="inputPassword" class="visually-hidden">Password</label>
 <input type="password" name="password" id="inputPassword" class="form-control mt-1" placeholder="Введите пароль" required="" autocomplete="on">
 <input type="hidden" name="token" value="<?= $_SESSION['token']; ?>">
 <button class="w-100 btn btn-lg btn-primary" type="submit">Войти</button>
</form>

validate.php:

<?php
require_once 'connectDB.php';
if (empty($_SESSION['token'])) {
    $_SESSION['token'] = bin2hex(random_bytes(32));
  };
  if($_POST['token']==$_SESSION['token']){
    if($_SERVER['REQUEST_METHOD'] == 'POST'){

      $sql = $connection->prepare("SELECT login, password FROM adminpanel WHERE login=? AND password=?");
      $sql->bind_param('ss', $_POST['login'], $_POST['password']);
      $sql->execute();
      $sql->store_result();

            if($sql->num_rows == 1){
            $_SESSION['user'] = $_POST['login'];
                header('location: ../admin.php');
            }else{
                $_SESSION['logwarning'] = 'Неверный логин или пароль!';
            $_SESSION['old'] = $_POST['login'];///Альтернатива, но все хочу хочу сделать через `POST`
                header('location: ../login.php');
            };
      $sql->free_result();
      $connection->close();
    };
  };
?>

Я конечно могу через сессию это сделать, но через POST тоже ведь как то можно.


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