Этот код неверен во многих аспектах:
if($_POST['add_admin'])
{
$this->user_role=$this->input->post('name');
$this->user_role=$this->input->post('user_role');
$this->login_email_admin=$this->input->post('login_email_admin');
$this->password=$this->input->post('password');
$this->load->database();
$this->db->insert('admin_user',$this);
}
- Вы перезаписываете свойство user_role;
- вы передаете всю ссылку
$this
, которая содержитнамного больше, чем эти свойства - , это не то, как вы делаете вставку с Active Record!Имена полей должны передаваться как массив, а не как свойства объекта
Должно быть что-то вроде:
$field['user'] = $this->input->post('name'); //or whatever is the FIELD NAME
$field['user_role'] = $this->input->post('user_role');
$field['login_email_admin'] = $this->input->post('login_email_admin');
$field['password'] = $this->input->post('password');
$this->load->database();
$this->db->insert('admin_user',$field);
См. вставить главу в руководстве для справки.
Кроме того, я не знаю, почему вы хотите сделать это внутри представления, вы должны выполнить вставку в модель, а проверка отправляемой формы должна быть выполнена в контроллере (в идеале вы могли быиспользуйте класс проверки формы, который очень удобен для этой задачи.
Вы используете платформу с архитектурой MVC, но в этом фрагменте кода вы почти ничего не получаете от обоих ...