Данные формы не остаются согласованными, сбрасываются после отправки

0

Это трудно объяснить, так что медведь со мной.

Я строю страницу, состоящую из нескольких форм, которые представлены вместе с одной кнопкой отправки внизу так:

<form action="" method="post">
<input type="text" name="name1" value="<?$variable1;?>" placeholder="Type here...">

<form action="" method="post">
<input type="text" name="name2" value="<?$variable2;?>" placeholder="Type here...">

<form action="" method="post">
<input type="text" name="name3" value="<?$variable3;?>" placeholder="Type here...">

<form action="" method="post">
<input type="text" name="name4" value="<?$variable4;?>" placeholder="Type here...">
<input type="submit" name="submit" value="Submit">

</form>

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

Теперь предположим, что пользователь заполняет данные только для одной из этих форм и нажимает кнопку отправки. Естественно, данные, которые они ввели, перейдут в текстовое поле. Однако мне нужно то, что когда пользователь затем решает заполнить остальные формы, данные, которые были первоначально эхом, по-прежнему находятся в текстовом поле, предпочтительно, как и ответ, который они вносят в форму (однако это не существенно).

То, что я нахожу в данный момент, заключается в том, что форма сбрасывается после нажатия кнопки "Отправить", поэтому, даже если пользователь отправил одну часть формы, когда они отправляются заполнять остальные и снова нажимают "отправить", отражают только остальные 3 и первый из них опущен.

Я надеюсь в этом есть смысл. Любая идея о том, как это можно сделать?

EDIT: Почти получил его со следующим:

if (isset($_POST['submit'])) {

if (isset($_SESSION['test1'])) {
$_SESSION['test1']=$_SESSION['test1'];
}
else {
$_SESSION['test1'] = $_POST['test1'];
}
}

Однако переменная теперь не изменяется, когда мы вводим что-то новое в поле формы...

  • 1
    Каждая форма является отдельной сущностью, и вам нужно закрыть их с помощью </form>
  • 0
    Но это предотвратит одновременную отправку всех полей формы с помощью кнопки отправки. У вас есть способ обойти это?
Показать ещё 2 комментария
Теги:
forms

2 ответа

0

Вам нужно <?= $variable1;?> <?= $variable1;?> и т.д. В противном случае ничего не выводит.

0
 <form action="" method="post">
 <input type="text" name="name1" value="<?$variable1;?>" placeholder="Type here...">
 <input type="text" name="name2" value="<?$variable2;?>" placeholder="Type here...">
 <input type="text" name="name3" value="<?$variable3;?>" placeholder="Type here...">
 <input type="text" name="name4" value="<?$variable4;?>" placeholder="Type here...">
 <input type="submit" name="submit" value="Submit">
 </form>

Вызовите только один раз. Одна кнопка отправки для 1 формы. Пожалуйста, попробуйте это. Он должен работать

  • 0
    Я попробовал это, и это не похоже на работу. Если я ввожу данные в первое поле формы, пропускаю остальные и отправляю ТОЛЬКО данные первого поля формы в текстовое поле. Если я затем заполню другие 3 поля формы данными и снова нажму «Отправить», данные поля формы для остальных 3-х эхо-сигналов будут отображаться в текстовом поле, но НЕ в первом.
  • 0
    Вы должны сделать это с помощью PHP-кода. И это было бы много, если бы «если». Покажите вам код php, и мы можем вам помочь
Показать ещё 1 комментарий

Ещё вопросы

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