Как обновить пользовательский ввод формы, когда я использую заголовок, который ссылается на другой файл?
Я пишу форму с использованием 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 у меня возникли проблемы с обновлением входных данных пользователя. Так есть ли в любом случае доступ к переменной через файл или это невозможно сделать таким образом.
Что я уже пробовал:
Я попробовал обновить его без использования заголовка, и он отлично работает. Но мне нужно поступить именно так.