Php HTML表单元素在提交后消失
基本上我这里有两个表单,第一个是一个简单的下拉选择,在这里你可以选择你想要多少个“部分”,每个“部分”都需要一个键和一个值,所以当表单提交时,它会运行一个循环,并为所选数量生成另一个表单的输入框。这一切都很好。 提交第二个表单时,输入框消失。它确实发布了数据和字符串Php HTML表单元素在提交后消失,php,html,forms,loops,Php,Html,Forms,Loops,基本上我这里有两个表单,第一个是一个简单的下拉选择,在这里你可以选择你想要多少个“部分”,每个“部分”都需要一个键和一个值,所以当表单提交时,它会运行一个循环,并为所选数量生成另一个表单的输入框。这一切都很好。 提交第二个表单时,输入框消失。它确实发布了数据和字符串 <?php $userkey = $_POST['key1']; $userval = $_POST['val1']; $usernum = $_POST['usernum'];
<?php
$userkey = $_POST['key1'];
$userval = $_POST['val1'];
$usernum = $_POST['usernum'];
?>
<form action='MYPIE.PHP' method='POST'>
HOW MANY SECTIONS?
<select name="usernum">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select>
<input type="submit" name="submitnum" value="submit" />
</form>
<form action='MYPIE.PHP' method='POST'>
<?php
for ($i=1; $i<$usernum+1; $i++){
echo "<br>insert key: <input name='key".$i."' value='hi".$i."'> insert value: <input name='val".$i."' value='val".$i."'>";
}
?>
</br>
<button type="submit" value="submit" name="submit keys" />
</form>
有多少节?
1.
2.
3.
4.
5.
6.
7.
8.
9
这是因为在您第二次提交表单时,post数据没有存储。您可以使用包含数据的隐藏输入来修复此问题
<form action='MYPIE.PHP' method='POST'>
<?php
echo '<input type="hidden" value="' . $usernum . '" name="usernum" />';
for ($i=1; $i<$usernum+1; $i++){
echo "<br>insert key: <input name='key".$i."' value='hi".$i."'> insert value: <input name='val".$i."' value='val".$i."'>";
}
?>
</br>
<button type="submit" value="submit" name="submit keys" />
</form>
$usernum
在您提交第二个表单后不会保留。这只是第一种形式。要解决此问题,请在第二个表单中创建一个隐藏的表单元素
<input type="hidden" name="usernum" value="<?php echo $usernum; ?>" />
那是因为您丢失了发布的usernum
,请尝试
<?php
for ($i=1; $i<$usernum+1; $i++){
echo "<br>insert key: <input name='key".$i."' value='hi".$i."'> insert value: <input name='val".$i."' value='val".$i."'>";
}
?>
<input type="hidden" name="usernum" value="<?php echo $usernum; ?>">
作为旁注,您可以在表单名称中使用数组;这将使检索值更容易。所以