如何阅读,如果一个复选框被选中在PHP?


当前回答

$check_value = isset($_POST['my_checkbox_name']) ? 1 : 0;

其他回答

Zend框架在复选框上使用了一个不错的hack,你也可以自己做:

生成的每个复选框都与一个同名的隐藏字段相关联,位于复选框之前,值为“0”。然后,如果您的复选框为值“1”,则在结果get或POST中始终获得“0”或“1”值

<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1"> 
$is_checked = isset($_POST['your_checkbox_name']) &&
              $_POST['your_checkbox_name'] == 'on';

短路计算将会注意,这样您就不会在your_checkbox_name未提交时访问它。

filter_input(INPUT_POST, 'checkbox_name', FILTER_DEFAULT, FILTER_FORCE_ARRAY)

了解isset,它是一个内置的“函数”,可以在if语句中使用,以判断一个变量是否已被使用或设置

例子:

    if(isset($_POST["testvariabel"]))
     {
       echo "testvariabel has been set!";
     }
<form>
<input type="check" id=chk1 value="1">
<input type="check" id=chk2 value="1">
<input type="check" id=chk3 value="1">
</form>

当你检查chk2时,你可以看到如下值:

<?php
foreach($_POST as $key=>$value)
{
    if(isset($key))
        $$key=strip_tags($value);
}
insert into table (chk1,chk2,chk3) values ('','1','');
?>