所以当我发送表格时,第一个选项"公共"被选中。 数据入。 但是当我尝试在选择其他选项的情况下提交表单时,每个循环中的选项。 不再发送数据。 我已经检查了元素。 他们输出所有正确的值。 并且它们显示正确。 为什么它们不插入数据库? 当我单击"提交"时,没有任何反应。 但是当我单击第一个选项的提交时,它工作正常?
<form method='POST' action='add.php'>
<select>
<option name="user_page_id" value="<?php echo $_SESSION['user_id']; ?>">Public</option>
<?php
$dis=show_groups_select_list($_SESSION['user_id']);
foreach($dis as $key=>$list){
echo '<option name="user_page_id" value="'.$list['id'].'">'.$list['username'].'</option>';
}
?>
</select>
</form>
您需要
将 name 属性放在 select
标签上,而不是 option
标签上。
<select name="user_page_id">
<?php foreach ($dis as $key => $list): ?>
<option value="...">...</option>
<?php endforeach; ?>
</select>
我知道
你得到了答案,只是为那些面临相同问题但该解决方案不起作用的人提供了更多信息:
我遇到了同样的问题,结果它是由 Bootstrap 制作的!
如果您使用的是 Bootstrap ,则需要提供 select class
属性:
<select name="any_name" class="form-control">
<option value="this is what would be sent if selected"> sth </option>
</select>
有关更多信息,也请查看此讨论!