Сохранять данные $ _POST после перенаправления

0

Каков наилучший способ сохранить данные $ _POST перед перенаправлением?

Представьте себе эту ситуацию: Страница A имеет форму данных, затем нажмите кнопку отправки, чтобы отправить запрос $ _POST на ту же страницу A.

Если есть ошибки для отображения, будет интересно загрузить данные снова в форме данных, не позволяя пользователю дважды писать текст

  • 1
    Не уверен, что понимаю. Ну, вы должны иметь для каждого поля данных что-то вроде этого: if (isset ($ _ POST ['some_field_id'])) echo $ _POST ['some_field_id']; еще эхо '';
  • 0
    Какая часть вашего вопроса касается перенаправления?
Показать ещё 4 комментария
Теги:
post
url-redirection

1 ответ

1

Может быть, немного поздно, но в любом случае это метод. (для тех, кто с тем же вопросом)

Допустим, у вас есть страница, "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-инъекций. Позаботьтесь и дезинфицируйте свои переменные там, где это необходимо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню