如何阅读,如果一个复选框被选中在PHP?
当前回答
在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'])的用法
其他回答
了解isset,它是一个内置的“函数”,可以在if语句中使用,以判断一个变量是否已被使用或设置
例子:
if(isset($_POST["testvariabel"]))
{
echo "testvariabel has been set!";
}
Zend框架在复选框上使用了一个不错的hack,你也可以自己做:
生成的每个复选框都与一个同名的隐藏字段相关联,位于复选框之前,值为“0”。然后,如果您的复选框为值“1”,则在结果get或POST中始终获得“0”或“1”值
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
您应该为您的输入指定名称。 然后点击哪个框,你将在你的选择方法中收到“on”
Array
(
[shch] => on
[foch] => on
[ins_id] => #
[ins_start] => شروع گفتگو
[ins_time] => ما معمولاً در چند دقیقه پاسخ میدهیم
[ins_sound] => https://.../media/sounds/ding-sound-effect_2.mp3
[ins_message] => سلام % به کمک نیاز دارید؟
[clickgen] =>
)
我的表单名中有两个复选框分别是shch和foch
<?php
if(isset($_POST['nameCheckbox'])){
$_SESSION['fr_nameCheckbox'] = true;
}
?>
<input type="checkbox" name="nameCheckbox"
<?php
if(isset($_SESSION['fr_nameCheckbox'])){
echo 'checked';
unset($_SESSION['fr_nameCheckbox']);
}
?>
我已经使用这个技巧好几年了,它在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变量为数据库。