如何阅读,如果一个复选框被选中在PHP?
当前回答
$is_checked = isset($_POST['your_checkbox_name']) &&
$_POST['your_checkbox_name'] == 'on';
短路计算将会注意,这样您就不会在your_checkbox_name未提交时访问它。
其他回答
了解isset,它是一个内置的“函数”,可以在if语句中使用,以判断一个变量是否已被使用或设置
例子:
if(isset($_POST["testvariabel"]))
{
echo "testvariabel has been set!";
}
要检查是否选中复选框,请使用empty()
当表单提交时,复选框将总是被设置,因为所有POST变量将与表单一起发送。
检查复选框是否选中为空,如下所示:
//Check if checkbox is checked
if(!empty($_POST['checkbox'])){
#Checkbox selected code
} else {
#Checkbox not selected code
}
让你的html复选框将是这样的
<input type="checkbox" name="check1">
提交表单后,你需要检查
if (isset($_POST['check1'])) {
// Checkbox is selected
} else {
// Alternate code
}
假设check1应该是复选框的名称。如果你的表单提交方法是GET,那么你需要检查$_GET变量像
if (isset($_GET['check1'])) {
// Checkbox is selected
}
Zend框架在复选框上使用了一个不错的hack,你也可以自己做:
生成的每个复选框都与一个同名的隐藏字段相关联,位于复选框之前,值为“0”。然后,如果您的复选框为值“1”,则在结果get或POST中始终获得“0”或“1”值
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
Wordpress有checked()函数。 参考:https://developer.wordpress.org/reference/functions/checked/
checked( mixed $checked, mixed $current = true, bool $echo = true )
描述 比较前两个参数,如果相同则标记为选中
参数 美元的检查 (混合)(必选)要比较的值之一
当前美元 (混合)(可选)(true)如果不是true,要比较的另一个值 缺省值:true
美元的回声 (可选)是否返回或返回该字符串 缺省值:true
返回#返回 (string) HTML属性或空字符串