这很难解释,请耐心等待。
我正在构建一个由多个表单组成的页面,这些表单都是通过底部的一个提交按钮提交的,如下所示:
<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部分得到响应,第一部分被省略。
我希望这是有道理的。你知道怎么做吗?
编辑:几乎做到了以下几点:
if (isset($_POST['submit'])) {
if (isset($_SESSION['test1'])) {
$_SESSION['test1']=$_SESSION['test1'];
}
else {
$_SESSION['test1'] = $_POST['test1'];
}
}
然而,当我们在表单字段中输入新内容时,变量现在不会改变。。。
<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个表单。请尝试此操作。它应该工作
您需要<?= $variable1; ?>
等,否则它不会输出任何内容。