【发布时间】:2012-02-08 21:22:17
【问题描述】:
我设置了一个复选框表单(每个问题只有一个复选框)。表单正在提交,但它只向 mysql 发送零——无论该框是否已被选中。如何将正确的值(1 或 0)发送到 mysql?
内置在 codeigniter/mysql 中。
表格
<?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(); ?>
控制器
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);
}
}
型号
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);
}
【问题讨论】:
-
里面不应该有值吗?
-
@chowwy -- 你的表单中的
$id = $this->input->post('id');在哪里,你不能在你的数据库表中将id设置为auto_increment吗? -
@SpaceBeers 我也用值尝试过;还是不行。
-
同意下面的@Diodeus。将硬编码值插入并查看它是否正确插入数据库。至少它会给你一个关于哪里出了问题的线索。
-
@stealthyninja - ID 与此问题无关;我正在使用会话 ID,但不想将额外信息添加到代码中,所以我只使用了标准 ID 帖子。我的重点是复选框。 ID 工作正常。
标签: mysql html codeigniter