RANJOY KONSAM Ответов: 0

Как обновить пользовательский ввод формы, когда я использую заголовок, который ссылается на другой файл?


Я пишу форму с использованием php и mysql. Основная цель состоит в том, чтобы форма (1) обнаружила отсутствующее поле. (2) Обновите пользовательский ввод после успешной отправки и (3) Самое главное, чтобы избежать повторной отправки при перезагрузке/обновлении. Я могу справиться с первым и третьим, но не имею ни малейшего представления о втором. Вот мой код (способный достичь первого и третьего)

   <!DOCTYPE html>
<html>
    <head></head>
    <body>
        <?php
        $name = "";
        $class = "";
        $school = "";

        if(isset($_POST["submit"])){
            $name = $_POST["name"];
            $class = $_POST["class"];
            $school = $_POST["school"];
            $output = false;

            if(empty($_POST["name"]) || empty($_POST["class"]) || empty($_POST["school"])){
                    echo 'field cannot be empty';
                    $output_form = true;
            }
            if(!empty($_POST["name"]) && !empty($_POST["class"]) && !empty($_POST["school"])){
                    $hostname = "localhost";
                    $admin = "root";
                    $password = "";
                    $database = "testdatabase";

                    $dbc = mysqli_connect($hostname, $admin, $password, $database) or die("database connection error");

                    $insert_query = "INSERT INTO `sorty` (`name`, `class`, `school`) VALUES ('$name', '$class', '$school')";
                    $insert_result = mysqli_query($dbc, $insert_query) or die("error");
                    if($insert_result == 1)
                        echo "data inserted";
                    else
                        echo "insert query failed";

                    mysqli_close($dbc);
                    header('Location: form2.php');
            }
        }
        else
            $output = true;

        if($output){
        ?>
            <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
                Name: <input type="text" name="name" value="<?php echo $name?>"/><br/>
                Class: <input type="text" name="class" value="<?php echo $class?>"/><br/>
                School: <input type="text" name="school" value="<?php echo $school?>"/><br/>
                <input type="submit" value="submit" name="submit"/>
            </form>
        <?php
        }
        ?>
    </body>
</html>


Мой второй файл form2.php (успешная страница после отправки формы)

<body>
Name: /*user input here*/<br/>
Class: /*user input here*/<br/>
School: /*user input here*/<br/>


Поскольку я не могу получить доступ к переменной $name, $class, $school of form.php у меня возникли проблемы с обновлением входных данных пользователя. Так есть ли в любом случае доступ к переменной через файл или это невозможно сделать таким образом.

Что я уже пробовал:

Я попробовал обновить его без использования заголовка, и он отлично работает. Но мне нужно поступить именно так.

0 Ответов