即使未选中,复选框也始终返回true

Rez*_*ati 1 php

<input name="inform_me" id="inform_me" type="checkbox"> inform me
Run Code Online (Sandbox Code Playgroud)

每当我检查是否设置了此复选框时,我就会得到

布尔(真)

即使没有真正检查复选框.

这就是我的PHP的样子:

var_dump(isset($_POST['inform_me']));
Run Code Online (Sandbox Code Playgroud)

它出什么问题了?

Kev*_*gem 5

PHP isset()函数,如果变量存在函数将检查!

例如.

$a = false; // or any other value
echo isset($a); // True, because the variable $a exists!
echo isset($b); // False, because the variable $b doesn't exist!
Run Code Online (Sandbox Code Playgroud)

无需将isset放在那里,请尝试以下方法:

echo $_POST['inform_me'];
Run Code Online (Sandbox Code Playgroud)

$_POST['inform_me']变量将包含值.如果选中它,它将包含值,即复选框.

例如,这是HTML代码

<input name="inform_me" id="inform_me" type="checkbox" value="test"> inform me </input>
Run Code Online (Sandbox Code Playgroud)

然后变量$ _POST ['inform_me']如果选中则为"test",否则(如果未选中)该值将为空字符串.

如果您没有为HTML标记提供值,则如果选中该变量将为"on",否则为空字符串(如果未选中).