我有一些表格中的复选框
<p>Select the modules you take:<br/>
Business <input type="checkbox" name="modules" value="Business"/><br />
Accounting <input type="checkbox" name="modules" value="Accounting"/><br />
Marketing <input type="checkbox" name="modules" value="Marketing" /><br />
</p>
我有一个响应页面并期望用户选择多个答案,那么我将如何使用foreach循环?我尝试过以下但没有希望
foreach($modules as $selected){
print "The modules were ".$modules;
}
提前致谢
答案 0 :(得分:5)
您的复选框的名称最后应为[]。在这种情况下,它们将自动转换为PHP中的数组。
即
<p>Select the modules you take:<br/>
Business <input type="checkbox" name="modules[]" value="Business"/><br />
Accounting <input type="checkbox" name="modules[]" value="Accounting"/><br />
Marketing <input type="checkbox" name="modules[]" value="Marketing" /><br />
</p>
php代码:
echo "The modules were: "
foreach($_POST['modules'] as $selected) {
echo $modules." ";
}
或简单
echo "The modules were: ".implode(", ", $_POST['modules']).".";
请注意,如果用户未选中任何复选框,则$ _POST ['modules']将是未定义的。您需要在使用前先检查它。在使用之前验证用户的输入也是一种很好的做法。