Codeigniter复选框始终返回0

时间:2015-12-26 20:58:25

标签: php codeigniter checkbox

如果项目已经完成,我有一个表单可以添加带有复选框的项目。这是视图中的html(codeigniter):

<div class="form-group">
                            <label>Task completed:</label>
                            <input type="checkbox" class="form-control" id="task_completed" name="task_completed" />
                            <?php echo form_error('task_completed'); ?>

                        </div>

我在控制器中加载数据:

$checked = (int)$this->input->post('task_completed');

当我做echo "" . $checked;时,它始终为0 !! 另外,在我的数据库中。我的错在哪里?

2 个答案:

答案 0 :(得分:1)

在输入名称中添加[],如此

<input type="checkbox" class="form-control" id="task_completed" name="task_completed[]" />

然后尝试$data = $this->input->post('task_completed');

然后var_dump($data);

答案 1 :(得分:0)

HTML

<label>Task completed:</label>
<input type="checkbox" class="form-control" id="task_completed" name="task_completed" value="1" />

要验证是否已选中,您可以执行以下操作:

<input type="checkbox" class="form-control" id="task_completed" name="task_completed" value="1" <?php echo $settings->task_completed ? 'checked' : ''; ?>

基本上在模型中获取设置并发送到视图。

<强>控制器:

 public function settings()
    {

        $data["settings"] = $this->admin_model->siteSettings();

        $this->load->view('settings', $data);
    }

<强>模型

 public function siteSettings()
    {
        return $this->db->get('site_settings')->row();
    }

查看

<input type="checkbox" class="form-control" id="task_completed" name="task_completed" value="1" <?php echo $settings->task_completed ? 'checked' : ''; ?>>