如何使用PHP获取提交时多个选中复选框的名称或ID?以下是示例表单。感谢。
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="checkbox" name="orange" id="orange">
<input type="checkbox" name="apple" id="apple">
<input type="checkbox" name="sky" id="sky">
<input type="checkbox" name="sea" id="sea">
<br>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
答案 0 :(得分:22)
仅当选中此复选框时,才会从表单提交复选框值。更重要的是,它是名称属性,而不是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()。
答案 1 :(得分:9)
您需要为输入指定相同的名称:
<input type="checkbox" name="selection[]" value="orange">
<input type="checkbox" name="selection[]" value="apple">
<input type="checkbox" name="selection[]" value="sky">
<input type="checkbox" name="selection[]" value="sea">
然后迭代PHP中的$ _POST ['selection']数组。
答案 2 :(得分:4)
您不会获得ID,但名称将是$_POST
数组(和$_REQUEST
)中的关联索引。注意:只有在客户端检查它们时,它们才会在阵列中可用。
if ($_POST['oragne'] == 'on')
答案 3 :(得分:2)
您可以将它们设置为以数组形式发布到PHP,如果您构建类似于以下内容:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="checkbox" name="box_group_1[oragne]" id="oragne">
<input type="checkbox" name="box_group_1[apple]" id="apple">
<input type="checkbox" name="box_group_1[sky]" id="sky">
<input type="checkbox" name="box_group_1[sea]" id="sea">
<br>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
<?php
print_r($_POST['box_group_1']);
?>