复选框表单向mysql发送零,无论是否选中了复选框

时间:2012-01-12 15:28:26

标签: mysql html codeigniter

我设置了一个复选框表单(每个问题只有一个复选框)。表单正在提交,但它只向mysql发送零 - 无论是否已经选中该框。如何获取发送到mysql的正确值(1或0)?

内置codeigniter / mysql。

FORM

<?php echo form_open('addFoo'); ?>
<input type="checkbox" name="foo1" value="" /> //I tried this w/values incl; still zeros
<input type="checkbox" name="foo2" value="" />
<input type="checkbox" name="foo3" value="" />
<input type="checkbox" name="foo4" value="" />
<?php echo form_submit('submit', 'Save Changes'); ?>
<?php echo form_close(); ?>

CONTROLLER

function addFoo()
{
    if ($this->input->post('submit')) {
        $id = $this->input->post('id');            
                $foo1 = $this->input->post('foo1');
                $foo2 = $this->input->post('foo2');
                $foo3  = $this->input->post('foo3');
                $foo4  = $this->input->post ('foo4');

    $this->load->model('foo_model');
    $this->foo_model->addFoo($id, $foo1, $foo2, $foo3, $foo4);
    }
}

MODEL

function addFoo($id, $foo1, $foo2, $foo3, $foo4) {
        $data = array(
            'id' => $id,
            'foo1' => $foo1,
            'foo2' => $foo2,
            'foo3' => $foo3,
            'foo4' => $foo4
        );

        $this->db->insert('foo_table', $data);
    }

1 个答案:

答案 0 :(得分:1)

<input type="checkbox" name="foo2" value="" />&lt; - 需要一个值。如果数据库为空,则数据库会插入零。

我认为这个问题可能出在你的数据库端,而不是表格端。