无法在codeigniter

时间:2017-10-14 05:20:31

标签: php forms codeigniter post codeigniter-2

我正在使用codeigniter开发一个应用程序。我的问题是我无法从第二个复选框发布值(在其他情况下复选框)。

查看页面

<div class="form-group">             
    <?php if($pro[0]['p_featured']==1){ ?>
     <label class="checkbox-inline">
          <input type="checkbox" value="1" name="featured" checked>featured 
     Product</label><?php } else {?>
    <label class="checkbox-inline">
     <input type="checkbox" value="2" name="featured" >featured 
      Product</label> 
   <?php } ?>
  </div>

我的控制器

echo $this->input->post('featured'); exit;
  

我可以从第一个条件发布值。但是无法发帖   来自第二个条件的价值

3 个答案:

答案 0 :(得分:0)

尝试

isset($this->input->post('featured'))?1:2;

答案 1 :(得分:0)

<input type='checkbox'>的表单元素如果未选中则不会发布值。因此,如果复选框处于第二个条件且在提交表单时仍未选中,则$this->input->post('featured');将返回NULL

如果您打算使用value属性来确定哪个复选框输出到了无法正常工作的浏览器,因为如果未选中该复选框,则value将无法发布

考虑这个解决方案

<div class="form-group">             
    <label class="checkbox-inline">
        <input type="checkbox" name="featured" <?php echo $pro[0]['p_featured'] == 1 ? "checked" : NULL; ?>>featured 
        Product</label>
</div>

这会生成一个在$pro[0]['p_featured'] == 1时检查的复选框。

请注意value属性已被删除。在这种情况下不需要该属性。

处理表单提交时,请确认此复选框的状态

$feature_checked = NULL !== $this->input->post('featured');

如果选中该框,则$feature_checked的值为TRUE,否则为FALSE。

答案 2 :(得分:0)

<input type="checkbox" id="wifi" name="wi_fi" value="1" <?php if ($post['wi_fi']==1) :?>checked<?php endif;?>/><label for="wifi" >Wi-Fi</label>