如何阅读,如果一个复选框被选中在PHP?
当前回答
我已经使用这个技巧好几年了,它在PHP和数据库中使用时,对于选中/未选中的复选框状态完全没有任何问题。
HTML代码:(用于添加页面)
<input name="status" type="checkbox" value="1" checked>
提示:如果您想默认显示为未选中,则删除选中
HTML代码:(用于编辑页面)
<input name="status" type="checkbox" value="1"
<?php if ($row['status'] == 1) { echo "checked='checked'"; } ?>>
PHP代码:(用于添加/编辑页面)
$status = $_POST['status'];
if ($status == 1) {
$status = 1;
} else {
$status = 0;
}
提示:除非用户选中它,否则将总是空值。我们已经有PHP代码来捕获它,否则保持值为0。然后,简单地使用$status变量为数据库。
其他回答
在BS3中
<?php
$checked="hola";
$exenta = $datosOrdenCompra[0]['exenta'];
var_dump($datosOrdenCompra[0]['exenta']);
if(isset($datosOrdenCompra[0]['exenta']) and $datosOrdenCompra[0]['exenta'] == 1){
$checked="on";
}else{
$checked="off";
}
?>
<input type="checkbox" id="exenta" name="exenta" <?php echo $checked;?> > <span class="label-text"> Exenta</span>
请注意isset($datosOrdenCompra[0]['exenta'])的用法
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属性或空字符串
当使用复选框作为数组时:
<input type="checkbox" name="food[]" value="Orange">
<input type="checkbox" name="food[]" value="Apple">
你应该使用in_array():
if(in_array('Orange', $_POST['food'])){
echo 'Orange was checked!';
}
记得先检查数组是否被设置,例如:
if(isset($_POST['food']) && in_array(...
<?php
if (isset($_POST['add'])) {
$nama = $_POST['name'];
$subscribe = isset($_POST['subscribe']) ? $_POST['subscribe'] : "Not Checked";
echo "Name: {$nama} <br />";
echo "Subscribe: {$subscribe}";
echo "<hr />";
}
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST" >
<input type="text" name="name" /> <br />
<input type="checkbox" name="subscribe" value="news" /> News <br />
<input type="submit" name="add" value="Save" />
</form>