Php 保存多个复选框选项

Php 保存多个复选框选项,php,checkbox,Php,Checkbox,我这里的代码只保存Wordpress中的一个复选框选择。如何让它保存多个值?如果我存储的值不正确(我可能是这样),如何将它们正确地发布到数据库中 以下是我目前发布选项的方式: if (isset ($_POST['update_blog_options'])) { $montage_blog_options = get_option ('blog_settings'); $montage_blog_options['user_cats'] = $_POST['user_

我这里的代码只保存Wordpress中的一个复选框选择。如何让它保存多个值?如果我存储的值不正确(我可能是这样),如何将它们正确地发布到数据库中

以下是我目前发布选项的方式:

   if (isset ($_POST['update_blog_options'])) {
     $montage_blog_options = get_option ('blog_settings');
     $montage_blog_options['user_cats'] = $_POST['user_cats'];
    update_option('blog_settings', $montage_blog_options);
    }
然后,我创建复选框数组的代码:

               $args = array( 'hide_empty' => 0, 'taxonomy'=> 'category');
               $categories =  get_categories($args);
               if ($categories){
                    foreach ( $categories as $category ){ 
                        if($category->cat_name==$montage_blog_options['user_cats']) {
                            $selected = 'checked="checked"';
                        } else {
                            $selected = '';
                        }

                        echo '<input name="user_cats" value="'.$category->cat_name.'" '.$selected.' type="checkbox"/> '.$category->cat_name.'<br/>';
                    }
                }
$args=array('hide_empty'=>0,'taxonomy'=>'category');
$categories=get_categories($args);
如果($类别){
foreach($categories作为$category){
如果($category->cat_name==$montage_blog_选项['user_cats']){
$selected='checked=“checked”';
}否则{
$selected='';
}
回显“.$category->cat_name.”
; } }
如果更改输入的名称以在名称中包含[],即name=“user_cats[]”,则它将其所有实例存储为数组。然后可以作为数组访问这些值


我记不清它进入页面时的确切外观,但您可以在接收页面上打印\r($\u POST['user\u cats'])以查看它的外观。

Hi Syndrose,我更改了它,但现在它根本不保存任何选项,而以前它只保存一个选项。有什么建议吗?好的……当我选中多个复选框时,数组正在生成这些结果,因此选项正在保存……它必须处于我用来显示“checked=”的条件下。如果它是作为数组出现的,那么你必须检查值是否在数组中,你可以使用in_数组函数来实现。是的,就是这样-这个函数以前就存在,但我使用的是与in_array()完全不同的东西。我会投票给你答案。我们是否应该提供一个更有用的答案?如果(在数组中($category->cat_name,$montage_blog_options['user_cats']){$selected='checked=“checked”;}或者{$selected='';}你的答案对任何一种情况都有帮助,那么这个条件就是有效的。我会检查答案,如果你想让它对未来的观众更正式,你可以更新。