我的html 中有这个复选框
<input name="cb" class="cmn-toggle cmn-toggle-round" type="checkbox">
我对复选框的工作原理的理解是,当"选中"时,如果你设置了输入,它就会"存在",如果没有"选中",它就不会,所以我这样做了:
if(isset($_REQUEST['cb'])){
//do something
}else{
//do something else
}
问题是,在发送表格时,它总是存在的,无论是否检查,我都不知道如何真正查看是否真的检查过,那么我做错了什么?
isset()确定变量是否已设置且不为NULL。因此,在您的情况下,$_REQUEST['cb']
始终存在,因此isset()
将为真。因此,如果您的条件中有isset()
,则需要添加一个检查,无论该值是true还是false。
您需要将您的条件编辑为:
if($_REQUEST['cb']) { ...
或
if($_REQUEST['cb'] == true){ ...
最好的方法是使用isset和上面的检查:
if( isset($_REQUEST['cb']) && $_REQUEST['cb'] == true ) { ...
你可以像这样检查
if(isset($_REQUEST['cb']) && $_REQUEST['cb']){