2015-02-17 6 views
0

Создаю регистрационную форму с помощью CodeIgniter. У меня есть вопрос.Как изменить имя входа и имя db?

В качестве примера, один из поля от моей формы

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

Но в базе данных, я буду использовать другое имя вместо имени пользователя, такие как пользователь. Как мне это сделать?

Таким образом, в форме это будет имя пользователя, но в базе данных его имя будет пользователем.

ответ

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.

+0

Спасибо! Оно работает. Я новичок в CodeIgniter. Этот пример действительно полезен. Ответы на самом деле используют массив. Еще раз спасибо. – Baris

+0

Я сделал это сейчас, если бы получил то, что вы имеете в виду «Пожалуйста, отметьте ответ» :) – Baris

+0

Да именно это :) –

Смежные вопросы