我可以相当直接地使用SQL和PHP来生成一个选择框。我最初有一个带有size属性的选择框,但无法弄清楚为什么表单提交后的$_POST
总是未设置。最终我在没有size
属性的情况下尝试了它,并且它起作用了。为了确认,我回到了我原定的选择框,设置了一个尺寸属性,注意到它未能设置$_POST
变量,然后我做的唯一事情是从标签中删除size='10'
,它按预期工作。
以下是具有该属性的代码。
<select name='select_news' size='10'>
<?php
foreach($news_dates_list as $date)
{
echo ("<option value='".$date['month']."/".$date['day']."/".$date['year']."'>".$date['month']."/".$date['day']."/".$date['year']."</option>");
}
?>
</select>
提交表单并尝试访问$_POST['select_news']
时,会产生以下错误:
注意:未定义的索引:第310行的C:\ website \ admin \ index.php中的select_news。当我只删除“size = '10'”部分时,它不会生成错误并按预期工作。< / p>
因此,我只是想确认当您尝试通过$_POST
访问选择框时,选择框中的尺寸属性是否正确导致选择框出现故障。如果不应该有这种效果,有谁知道可能导致这种情况的原因?
答案 0 :(得分:0)
不是你问题的答案,而是改变:
echo ("<option value='".$date['month']."/".$date['day']."/".$date['year']."'>".$date['month']."/".$date['day']."/".$date['year']."</option>");
要:
echo "<option value='{$date['month']}/{$date['day']}/{$date['year']}'>{$date['month']}/{$date['day']}/{$date['year']}</option>";
即。不要在echo中使用括号,并使用{}
在引用的字符串中插入变量,而不必经常启动/停止字符串。
大小与返回的内容无关。其他的东西正在改变。我建议两件事:
print_r($_RESULT)
并查看答案 1 :(得分:0)
尝试将名称从select_news
更改为select_news[]
,就像您有多个具有相同名称的复选框一样。