带有复选框

时间:2015-05-01 14:08:04

标签: php loops foreach

我有一些表格中的复选框

<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;
}

提前致谢

1 个答案:

答案 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']将是未定义的。您需要在使用前先检查它。在使用之前验证用户的输入也是一种很好的做法。