2014-10-08 4 views
0

Вот мой контроллер profileinfo.phpФатальная ошибка: Вызов функции-члена, на не-объект, контроллер CodeIgniter

<?php 
class Profileinfo extends CI_Controller { 

    function index() 
    { 

     $this->load->helper(array('form', 'url')); 
     $this->load->model('aluminsert','', TRUE); 
     $this->load->library('form_validation'); 

     $this->form_validation->set_rules('name', 'Name', 'required'); 
     $this->form_validation->set_rules('branch', 'Bramch', 'required'); 
     $this->form_validation->set_rules('academicinterest', 'Academic Interest', 'required'); 
     $this->form_validation->set_rules('internshipdetail', 'Internship Details', 'required'); 
     $this->form_validation->set_rules('interest_hobbies', 'Interest and hobbies', 'required'); 
     $this->form_validation->set_rules('personalblog', 'Personal Blog', 'required'); 
     $this->form_validation->set_rules('facebookprofile', 'Facebook Profile', 'required'); 
     $this->form_validation->set_rules('linkedinprofile', 'Linkedin Profile', 'required'); 
     $this->form_validation->set_rules('homecity', 'Home city', 'required'); 
     $this->form_validation->set_rules('country', 'country', 'required'); 
     $this->form_validation->set_rules('higherdegree', 'Higher Degree', 'required'); 
     $this->form_validation->set_rules('collegeofeducation', 'College of Education', 'required'); 
     $this->form_validation->set_rules('officialemail', 'Official Email', 'required'); 
     $this->form_validation->set_rules('careerinterests', 'Career Interest', 'required'); 
     $this->form_validation->set_rules('presentemployer', 'Present Employer', 'required'); 
     $this->form_validation->set_rules('presentjob', 'Present Job', 'required'); 
     $this->form_validation->set_rules('previousemployer', 'Previous Employee', 'required'); 
     $this->form_validation->set_rules('startupname', 'Startup Name', 'required'); 

     if ($this->form_validation->run() == FALSE) 
     { 
      $this->load->view('alumprofile'); 

     } 
     else 
     { 
      $alumdata = array(
      'Name' => $this->input->post('name'), 
      'Branch' => $this->input->post('branch'), 
      'Academic Interest' => $this->input->post('academicinterest'), 
      'Internship Details' => $this->input->post('internshipdetail'), 
      'Interest and hobbies' => $this->input->post('interest_hobbies'), 
      'personalblog' => $this->input->post('personalblog'), 
      'Facebook profile' => $this->input->post('facebookprofile'), 
      'Linkedin profile' => $this->input->post('linkedinprofile'), 
      'Home city' => $this->input->post('homecity'), 
      'country' => $this->input->post('country'), 
      'Higher Degree' => $this->input->post('higherdegree'), 
      'College of Education' => $this->input->post('collegeofeducation'), 
      'Official Email' => $this->input->post('officialmail'), 
      'Career Interest' => $this->input->post('careerinterests'), 
      'Present Employer' => $this->input->post('presentemployer'), 
      'Present Job' => $this->input->post('presentjob'), 
      'Previous Employee' => $this->input->post('previousemployer'), 
      'Startup Name' => $this->input->post('startupname'), 
      ); 
      // Transfering Data To Model 
      $this->insert->alum_insert($alumdata); 
      $this->load->view('registration_success'); 
     } 
    } 
} 
?> 

и вот моя модель aluminsert.php проверки

<?php 
class Aluminsert extends CI_Model{ 
    function __construct() { 
     parent::__construct(); 
    } 
    function alum_insert($alumdata){ 

     $this->db->insert('user_detail', $alumdata); 
    } 
} 
?> 

формы работает и после отправки формы отображается ошибка: Неустранимая ошибка: вызов функции-члена alum_insert() для не-объекта в C: \ wamp \ www \ ci \ application \ controllers \ profileinfo.php в строке 61

+1

название модели '' aluminsert' не insert' он должен быть '$ this-> alum_insert-> alum_insert ($ alumdata);' –

+1

@karanthakkar почти нет. '$ this-> aluminsert-> alum_insert ($ alumdata)' –

+0

@MarioCesar да, моя плохая опечатка;) –

ответ

-1

В codeigniter нам нужно загрузить базу данных. Таким образом, есть два способа

  1. Либо вы можете автозагрузку его или
  2. нагрузки, где когда-либо вам это нужно.

В autoload.php, вы должны написать нижнюю строку.

$autoload['libraries'] = array('database');

ИЛИ

другим способом вы также можете загрузить в следующем порядке: -

$this->load->database();

Конечно, это поможет вам.

+0

Как это связано с вопросом? –

0

Ошибка лежит в коде ниже. Вы пытаетесь вызвать метод из класса «insert», который в этом случае не существует в вашей модели.

$this->insert->alum_insert($alumdata); 
$this->load->view('registration_success'); 

Ваша модель называется «Aluminsert» и метод, который вы используете для вставки называется «alum_insert», так что вы должны скорее сделать это.

$this->aluminsert->alum_insert($alumdata); 
$this->load->view('registration_success'); 
Смежные вопросы