Помогите разобраться с сессией

Рейтинг: 0Ответов: 0Опубликовано: 27.03.2023

Суть такова: есть код, который предлагает пользователю заполнить 3 инпута и после сабмита отправляет данные в БД. При обновлении страницы необходимо показать сообщение об успехе, но так, чтобы данные повторно не отправились в БД. Сделать это надо с помощью сессии, вот, собственно сам код:

<?php 
session_start(); ?>
<meta charset="utf-8">
<?php
    $host = 'localhost'; 
    $user = 'root';      
    $pass = '';          
    $name = 'mydb1';      
    
    $link = mysqli_connect($host, $user, $pass, $name);
    mysqli_query($link, "SET NAMES 'utf-8'");

    if (!empty($_POST)) {
        $name = $_POST['name'];
        $age = $_POST['age'];
        $salary = $_POST['salary'];
        $query = "INSERT INTO users SET name='$name', age='$age', salary='$salary'"; 
        mysqli_query($link, $query) or die(mysqli_error($link)); 

        $_SESSION['flash'] = 'форма успешно сохранена'; 

        header("Location: form.php");
    }

    if (isset($_SESSION['flash'])) {
        echo $_SESSION['flash'];
        unset($_SESSION['flash']);
    }

    ?>

<form action="" method="POST">
    <input name="name"
    value="<?php if (isset($_POST['name'])) echo $_POST['name'] ?>">
    <input name="age"
    value="<?php if (isset($_POST['age'])) echo $_POST['age'] ?>">
    <input name="salary"
    value="<?php if (isset($_POST['salary'])) echo $_POST['salary'] ?>">
    <input type="submit">
</form>

Данные он отправляет исправно, однако сообщение об успехе не выводит, не могу понять в чем проблема, подскажите, пожалуйста.

Ответы

Ответов пока нет.