如何更改输入名称和数据库名称?

时间:2015-02-17 08:10:29

标签: forms validation codeigniter input

我使用CodeIgniter构建了一个注册表单。我有个问题。

例如,我的表单中的一个字段

<input type="text" name="username">

但是在数据库中,我将使用另一个名称而不是用户名这样的用户名。我该怎么做?

因此,在表单上它将是用户名,但在数据库中,它的名称将是user。

1 个答案:

答案 0 :(得分:1)

将清除整个流程(评论可能有助于更好地理解)

查看:

<form action="/user/register" method="post">
  <input name="username" type="text" />
  <input name="pass" type="password" />
  <input name="age" type="text" />
  <input type="submit" />
</form>

<强>控制器:

<?php
class User extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model('user_model');
    }

    public function register()
    {
        if($this->input->server('REQUEST_METHOD') == 'POST')
        {
            // if validation success
            if($validation)
            {
                /*
                Mapping form fields with DB fields
                Assuming below as fields in DB
                user, password, age
                */
                $data['user'] = $this->input->post('username');
                $data['password'] = $this->input->post('pass');
                $data['age'] = $this->input->post('age');

                // Add user
                $this->user_mode->add_user($data);
            }
        }
    }
}

<强>型号:

<?php
class User_model extends CI_Model
{
    public function __construct()
    {
        parent::__construct();
        $this->db = $this->load->database('default',true);
    }

    public function add_user($data)
    {
         $this->db->insert('users', $data);
    }
}

要了解,请阅读CI用户手册的 Active Record 部分。