我使用CodeIgniter构建了一个注册表单。我有个问题。
例如,我的表单中的一个字段
<input type="text" name="username">
但是在数据库中,我将使用另一个名称而不是用户名这样的用户名。我该怎么做?
因此,在表单上它将是用户名,但在数据库中,它的名称将是user。
答案 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 部分。