2014-12-07 6 views
0

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

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

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

+1

Не уверен, что я понимаю. Ну, вы должны иметь для каждого поля данных что-то вроде этого: if (isset ($ _ POST ['some_field_id'])) echo $ _POST ['some_field_id']; else echo ''; –

+0

Какая часть вашего вопроса касается перенаправления? –

+0

Если у меня есть поле данных с недопустимым значением, мне нужно перезагрузить это поле данных. Но это поле данных присутствовало в последнем разделе. Пример: Страница A (имеет поле данных) --- redirect 302 ---> Страница B (необходимо перезагрузить поле данных) – geraldo

ответ

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> поля атрибут значения, и пусть PHP эха посланного значения, как это:

<input name="field_1" type="text" placeholder="Enter Text" 
value="<?php if isset($_POST) {echo $_POST['field_1'];}?>"> 

Теперь после того, как вы поставите текст в введите поле ввода и нажмите «Отправить», текст будет в поле.

Возможно, у вас уже есть это решение или другое. Обратите внимание, что если вы используете это решение, $_SERVER['PHP_SELF'], если он уязвим для взлома url-инъекций. Позаботьтесь и дезинфицируйте свои переменные там, где это необходимо.

Смежные вопросы