【发布时间】:2022-11-30 14:24:56
【问题描述】:
我正在尝试使用 for 循环创建 3 个选择框并发送每个框的所有选定选项值,但结果只循环 3 个框的第一个选定值。这是代码:
<?php
for ($a=0; $a < 3; $a++) {
?>
<form action="" method="POST" id="formid">
<select class="btn-secondary" name="selectid">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
<?php }?>
<input type="submit" name="submit" form="formid" value="Submit">
<?php
if (isset($_POST['submit'])) {
$selectid = $_POST['selectid'];
for ($i=0; $i < 3 ; $i++) {
echo $selectid;
}
}
?>
【问题讨论】:
-
它们都具有相同的名称,因此只会发送一组。给每个选择输入一个唯一的名字。
-
知道如何为 for 循环内的每个选择标签指定唯一名称吗?
-
您可以使用
$a在名称末尾添加一个数字。name="selectid_<?php echo $a; ?>",这将使他们成为selectid_0、selectid_1和selectid_2 -
我已经尝试了你的建议,但没有奏效。注意:未定义索引:selectid