我创建了一个具有下拉字段的注册表单,但我无法将其链接到数据库以注册选择。我打开了表单验证,但它一直说没有选择任何值。
我的其他输入工作正常,因为他们是用户输入的。但是,此下拉列表中的值不会注册为任何值。任何帮助将不胜感激。
谢谢!
查看
<div class = "form-group">
<?php echo form_label('Mobile Carrier'); ?><br/><!--Form Label-->
<?php
$data = array(
'None' => 'None',
'att' => 'AT&T',
'verizon' => 'Verizon',
'sprint' => 'Sprint',
'tmobile' => 'T-Mobile'
);
?>
<?php echo form_dropdown('Mobile Carrier', $data, 'None'); ?>
控制器
public function register(){
$this->form_validation->set_rules('mobile_carrier', 'Mobile Carrier', 'required'); }
用户模型
public function create_user(){
$data = array(
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'email' => $this->input->post('email'),
'phone_number' => $this->input->post('phone_number'),
'mobile_carrier' => $this->input->post('mobile_carrier'),
'username' => $this->input->post('username'),
'password' => $encrypted_pass
);
$insert_data = $this->db->insert('users', $data);
return $insert_data;
}
答案 0 :(得分:1)
您在创建下拉列表时分配了错误的name
属性:
<?php echo form_dropdown('Mobile Carrier', $data, 'None'); ?>
name
属性必须与模型中的$this->input->post('mobile_carrier')
匹配。所以正确使用将是:
<?php echo form_dropdown('mobile_carrier', $data, 'None'); ?>
更多信息:https://www.codeigniter.com/userguide3/helpers/form_helper.html,滚动至form_dropdown([$name = ''[, $options = array()[, $selected = array()[, $extra = '']]]])