Сабмит формы без потери данных в инпуте

215
20 декабря 2017, 23:07

Дорогие друзья, вопрос будет звучать довольно странно , но всё же это нужно... Есть файл outgoing_personal_add.php, в нем есть форма такого содержания

<form action="outgoing_personal_add_save.php" method="POST">
<tr>         
<td><?php echo $row5020['name']; ?></td>
<td><?php echo "<input type='number' class='form-control' name = 'qty' d='qty'/>"; ?></td>
<td><?php echo "<button type='submit' class='btn btn-info btn-block'>Добавить</button>" ?></td>
</tr>
</form>         

После сабмита файл-обработчик берет данные делает своё дело и обратно редиректит на страницу с формой (т е в файл outgoing_personal_add.php) и после редиректа веденные данные пользователем в инпут исчезают (само собой). Как сделать чтоб данные в инпуте не исчезали а оставались до полного закрытия страницы например.

PS редирект происходит с помощью

header('Location: '.$url); 
Answer 1

Т.е. вопрос в том, чтобы заполнить на форме одно число? Ну сделайте так

outgoing_personal_add_save.php

session_start();
if (isset($_POST['qty'])) {
  $_SESSION['qty'] = $_POST['qty'];
  ..........
} else
  unset($_SESSION['qty']);

outgoing_personal_add.php

session_start();
..........
<td>
  <?php
    printf(
      "<input type='number' class='form-control' name = 'qty' d='qty' value='%s'/>",
       $_SESSION['qty'] ?? ''
    );
  ?>
</td>
Answer 2

Вариант 1.

Не использовать редирект. В пхп части прописать if(!empty($_POST['ваши пост данные тут'])). При наличии $_POST данных делать с ними то что хотите, и так же отдавать их в дефолтное значение поля.

Вариант 2.

Если данные куда-либо пишутся - брать их от туда, куда они пишутся.

P.S. Если Вы предоставите более полную картину - Вам дадут более полный ответ.

Answer 3
...
<td>
    <form action="" method="POST">
        <?php echo $row5020['name']; ?>
        <input type="number" class="form-control" name="qty" value="<?=(isset($_POST['qwe']))?$_POST['qty']:'';?>" />
        <button type='submit' class='btn btn-info btn-block'>Добавить</button>
    </form>
</td>
...
READ ALSO
Как быстро перенести проект с Laravel на Yii2? [требует правки]

Как быстро перенести проект с Laravel на Yii2? [требует правки]

Был разработан небольшой корпоративный портал на Laravel 54, но теперь требуется развернуть аналог на фреймворке Yii2, потому что он принят в команде,...

190
Добавление атрибутов в Magento. Ошибка с config.

Добавление атрибутов в Magento. Ошибка с config.

Добавляю группу атрибутов, папки и сами атибутыНо почему-то в бд не пишется новая инфа

159
Не приходят сообщения на почту с помощью функции mail php

Не приходят сообщения на почту с помощью функции mail php

В чем может быть проблема? mail возвращает true, то есть, он отправил сообщение (вроде как) почта моя вида post@yandexru, но никакого сообщения нет

157