PHP checkbox 表单处理心得

评论(1)

虽说自己写的主题基本上用不到后台,但因为折腾,所以折腾,为了给自己的主题加上后台设置这个蛋疼的功能,所以最近两天一直在做后台设置和设置的数据结构,作为一项功能的开关,我们一般都用到 checkbox 的表单按钮来处理该项功能是否开启,而不是用单选框来判断,那么我们怎么能将 checkbox 的信息准确的传递给 PHP ,又怎样取出呢?

简单处理 checkbox

在网上搜了搜,用 checkbox 作开、关选择一般用以下的处理方法:
单独判断相应 name 值的 checkbox 按钮有没有被提交,然后将数据用布尔型存入,方便下次判断用。

//先取出布尔值,构造 checkbox 按钮。
 
<input name="if" type="checkbox" value="checkbox" <?php if($options['if']) echo "checked='checked'"; ?>/>
 
 
//判断有没有选中,有就存真没有就存假。这样数据就可以循环使用了。
 
if ($_POST['author']) {
 
	$options['if'] = (bool)true;
 
} else {
 
	$options['if'] = (bool)false;
 
}


优点:结构简单
缺点:需单独判断、单独处理

复杂处理 checkbox

为了能够便利,我们可以这么写:

 
<?php 
//取出值
$checked = $opt['if']=='checked' ? 'checked="checked"':'' ;
?>
 
 
//设置一个每次都提交no值得隐藏按钮
<input name="if" type="hidden" value="no" /> 
 
 
//如果选中这个值会覆盖上面的值
<input name="if" type="checkbox" value="checked"s <?php echo $checked;?>/>


优点:方便便利设置的数组
缺点:复杂的蛋疼。





转载请注明转自: PHP checkbox 表单处理心得

  1. Pingback: add_meta_box|函数-WordPress