仅当选中复选框时,才从表单提交复选框值。此外,重要的是name属性,而不是ID。
有几种处理PHP中复选框的方法:
- 为所有复选框指定相同的名称,后跟一对方括号,以便将整个集合视为一个数组。在这种情况下,请为每个复选框指定一个值。
- 为每个复选框指定不同的名称和值。
- 为每个复选框指定一个不同的名称,但没有值。
在每种情况下,都需要检查$ _POST数组中是否存在复选框名称。
例如:
<input type="checkbox" name="color[]" id="orange" value="orange"><input type="checkbox" name="color[]" id="apple" value="apple">
要获取这些复选框的值:
if (isset($_POST['color'])) { $colors = $_POST['color']; // $colors is an array of selected values}但是,如果每个复选框都有一个不同的名称和一个像这样的显式值:
<input type="checkbox" name="orange" id="orange" value="orange"><input type="checkbox" name="apple" id="apple" value="apple">
您仍然需要使用isset():
if (isset($_POST['orange'])) { // orange has been set and its value is "orange"}如果未设置值,则默认值为“ on”,但除非已选择它,否则它不会在$ _POST数组中,因此您仍然需要使用isset()。



