2016-11-23 2 views
0

Ich habe Probleme beim Übergeben der Variablen von Modell zu Controller. Hier ist mein Code.Übertragen von Daten vom Modell zum Controller - CodeIgniter

<?php 
class insert_model extends CI_Model 
{ 
    function __construct() 
    { 
     parent::__construct(); 
    } 
    function form_insert($data) 
    { 
     // Inserting in Table(students) of Database(college) 
     $this->db->insert('students', $data); 
    } 
} 
?> 

Controller: - insert_ctrl.php

<?php 
class insert_ctrl extends CI_Controller 
{ 
    function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('insert_model'); 
    } 
    function index() 
    { 
     //Including validation library 
     $this->load->library('form_validation'); 

     $this->form_validation->set_error_delimiters('<div class=error>', '</div>'); 

     //Validating Name Field 
     $this->form_validation->set_rules('dname', 'Username', 'required|min_length[5]|max_length[15]'); 

     //Validating Email Field 
     $this->form_validation->set_rules('demail', 'Email', 'required|valid_email'); 

     //Validating Mobile no. Field 
     $this->form_validation->set_rules('dmobile', 'Mobile', 'required'); 

     //Validating Address Field 
     $this->form_validation->set_rules('daddress', 'Address', 'required|min_length[10]|max_length[50]'); 

     if($this->form_validation->run() == FALSE){ 
      $this->load->view('insert_view.php'); 
     } 
     else{ 
      //Setting values for table columns 
      $data = array(
       'Student_Name' => $this->input->post('dname'), 
       'Student_Email' => $this->input->post('demail'), 
       'Student_Mobile' => $this->input->post('dmobile'), 
       'Student_Address' => $this->input->post('daddress') 
      ); 
      //Transfering data to Model 
      $this->load->model('insert_model', $data); 
      $data['message'] = "Data Inserted Successfully"; 
      //Loading View 
      $this->load->view('insert_view'); 
     } 
    } 
} 
?> 

Error On XAMPP

Hilfe Erforderlich. Ich habe ein Fehlerbild auf xampp hochgeladen. Hilf mir. Ich habe andere Threads gelesen, kann aber nicht herausfinden, wie man Daten überträgt.

+0

40 # So Linie ist, wo ... – MonkeyZeus

+0

$ this-> last-> Modell ('insert_model'? $ Daten); –

+0

Wenn Sie Codeigniter 3 verwenden, müssen Ihre Controller- und Modellnamen mit einem Großbuchstaben beginnen: Insert_model extends CI_Model Beachten Sie, dass Sie sie laden und in Kleinbuchstaben aufrufen, wie Sie es jetzt tun. – cartalot

Antwort

1

Die Dokumentation von CodeIgniter ist Ihr bester Freund, vertrauen Sie mir. Stellen Sie sicher, dass Sie verstehen, was die Parameter von Ihnen erwarten.

Siehe Loading a Model section

enter image description here


Sie Ihre $data Array in den zweiten Parameter der model() Funktion sendet. Das ist falsch, es erwartet eine Zeichenfolge, wenn Sie diese Funktion verwenden möchten.

// WRONG 
$this->load->model('insert_model', $data); 

Code zu beheben, müssen Sie dies tun:

$this->load->model('insert_model'); // Load your model without trying to set parameter #2 unless you wish to rename the model 
$this->insert_model->form_insert($data); // Call the function to insert your data 
+0

Ich habe es vorher getan ... aber das Problem bleibt gleich. Siehe diese. http://imgur.com/a/k9D2p –

+0

Das ist ein anderes Problem, es ist eine völlig andere Datei und Zeilennummer. – MonkeyZeus

+0

also was soll ich tun, um das zu lösen @MonkeyZeus –

Verwandte Themen