复选框值未在数据库中正确保存

时间:2011-07-12 07:51:46

标签: php codeigniter

我在Codeigniter中将其写为form_view.php

<?php echo form_open('form'); ?>

<h5>Man</h5>
<input type="checkbox" name="options[]" value="m"/>

<h5>Lady</h5>
<input type="checkbox" name="options[]" value="f" />

<h5>Username</h5>
<input type="text" name="username" value="" size="50" />

<div><input type="submit" value="Submit" /></div>

</form>

然后我将这些数据添加到数据库中:

  $data=array(
            'type'=> $_POST['options[]'],
            'name'=> $_POST['name']
            );
    $this->db->insert('user_data',$data);

名称字段正常。但类型字段没有任何内容。我找不到错误。请帮帮我。

4 个答案:

答案 0 :(得分:0)

假设您希望在它们之间使用逗号(作为分隔符)存储多个值

$data=array(
        'type'=> implode(',', $_POST['options']),
        'name'=> $_POST['name']
        );

答案 1 :(得分:0)

从选项中删除[]

$_POST['options']将是一个数组。您可能必须将值加入字符串。

答案 2 :(得分:0)

一些建议:

  1. 如果没有选中任何一个,则该值将不会提交给数据库,因此您需要一个默认值。
  2. 考虑使用无线电类型而不是复选框。除了一些罕见的人,我认为太多的人不会是男人和女人。
  3. 将$ _POST ['options []']更改为$ _POST ['options']

答案 3 :(得分:0)

'type'=> $_POST['options[]']

作为

'type'=> $_POST['options']