Каков наилучший способ сохранить данные $ _POST перед перенаправлением?
Представьте себе эту ситуацию: Страница A имеет форму данных, затем нажмите кнопку отправки, чтобы отправить запрос $ _POST на ту же страницу A.
Если есть ошибки для отображения, будет интересно загрузить данные снова в форме данных, не позволяя пользователю дважды писать текст
Может быть, немного поздно, но в любом случае это метод. (для тех, кто с тем же вопросом)
Допустим, у вас есть страница, "form.php". Если вы отправляете свою форму на страницу:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
// action of the form will be "/path/on_your/webserver/to/form.php"
// so it will POST to itself
<input name="field_1" type="text" placeholder="Enter Text">
<input name="submit" type="submit" value="Submit">
</form>
Теперь, если вы нажмете кнопку "Отправить", он обработает любой PHP-код, который у вас есть в вашем файле. Если вы хотите, чтобы текст в <input name="field_1">
вы ввели после запроса POST, вы присваиваете полю <input>
атрибут value и позволяете PHP повторять опубликованное значение следующим образом:
<input name="field_1" type="text" placeholder="Enter Text"
value="<?php if isset($_POST) {echo $_POST['field_1'];}?>">
Теперь после того, как вы поместите текст в поле ввода и нажмите "Отправить", текст будет в поле.
Возможно, у вас уже есть это решение или другое. Обратите внимание: если вы используете это решение, $_SERVER['PHP_SELF']
если он уязвим для взлома url-инъекций. Позаботьтесь и дезинфицируйте свои переменные там, где это необходимо.