2011-07-12 132 views
0

我在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); 

名稱字段就可以了。但類型字段沒有任何內容。我找不到錯誤。請幫幫我。

+0

請使用代碼格式化功能編輯! – DanielB

回答

0

假設你想多個值,從而在它們之間

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

刪除[]從選項中存儲有逗號(作爲分隔符)。

$_POST['options']將是一個數組。您可能必須將值連接到一個字符串。

0

幾點建議:

  1. 如果沒有一個被選中將不被提交到數據庫中的值,所以你需要一個默認值。
  2. 考慮使用無線電類型而不是複選框。除了一些罕見的人,我不認爲太多的人會成爲男人和女人。
  3. 更改$ _ POST [ '選項[]']到$ _ POST [ '選項']
0

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

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

我喜歡這樣做,但不工作。 – wailynnoo

相關問題