保存多个复选框选项

问题描述:

我在这里有这个代码,在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/>'; 
        } 
       } 

包括一个[]中该名称,即名称=“user_cats []”,那么它会将它的所有实例存储为一个数组。那么你可以以数组的形式访问这些值。

我不记得它到达页面时的样子,但是您可以在接收页面上print_r($ _ POST ['user_cats'])来查看它的样子。

+0

嗨Syndrose,我改变了它,但现在它不保存任何选项,以前它是保存一个选项。有什么建议么? – 2013-03-21 23:09:09

+0

好的...当我检查多个复选框时,数组产生了这些结果,所以选项正在保存....它必须处于我用来显示'checked ='的条件'checked'' – 2013-03-21 23:15:04

+0

如果它是以数组的形式出现,那么你必须检查值是否在数组中,你可以用in_array函数来做到这一点。 – Syndrose 2013-03-21 23:18:36