2017-12-31 39 views
1

Ich habe ein seltsames Problem. Ich kann die Daten vom Formular zum Controller nicht übergeben. Ich denke, mein Code war richtig, aber ich weiß nicht, warum er die Daten nicht weitergeben kann - und sagt immer "gescheitert". Ich habe versucht, die Daten zu drucken, die ich posten, aber es sagt "keine Daten". Vielleicht habe ich etwas vergessen, und kannst du mir helfen?Daten können nicht vom Controller an die Steuerung übergeben werden

Hier ist mein Code

Ansicht Code:

<div id="register" class="text-center"> 
    <div class="container"> 
    <div class="section-title center"> 
     <h2>Register</h2> 
     <hr> 
     <form action="<?php echo base_url('c_register/do_insert'); ?>" method="post"> 
     <link href="<?php echo base_url();?>assets/user/css/login.css" rel="stylesheet"> 
     <input type="text" name="firstname" id="firstname" placeholder="First Name"> 
     <span class="text-danger"> <?php echo form_error("firstname"); ?></span> 
     <input type="text" name="lastname" id="lastname" placeholder="Last Name"> 
     <span class="text-danger"> <?php echo form_error("lasttname"); ?></span> 
     <input type="text" name="fullname" id="fullname" placeholder="Full Name"> 
     <span class="text-danger"> <?php echo form_error("fullname"); ?></span> 
     <input type="text" name="username" id="username" placeholder="Username"> 
     <span class="text-danger"> <?php echo form_error("username"); ?></span> 
     <input type="text" name="email" id="email" placeholder="Email"> 
     <span class="text-danger"> <?php echo form_error("email"); ?></span> 
     <input type="password" name="pass" id="pass" placeholder="Password"> 
     <span class="text-danger"> <?php echo form_error("pass"); ?></span> 
    <!-- <input type="password" name="pass1" placeholder="Retype Password"> --> 
     <ul> 
     <p1>Gender</p1> 
     <select name="gender" id="gender" class="pilihan"> 
     <span class="text-danger"> <?php echo form_error("gender"); ?></span> 
     <option value="men">Male</option> 
     <option value="women">Female</option></select> 
     </ul> 
     <ul> 
     <p1>Occupation</p1> 
     <li><input type="radio" name="job" value="doctor" id="doctor" checked> Doctor<br></li> 
     <span class="text-danger"> <?php echo form_error("job"); ?></span> 
     <li><input type="radio" name="job" value="nurse" id="nurse"> Nurse<br></li> 
    </ul> 
     <link rel="stylesheet" type="text/css" href="assets/user/login.css"> 
     <a href="<?php echo base_url('c_register/do_insert'); ?>" class="btn btn-primary btn-lg active" role="button">Primary link</a> 
    </form> 

mein Controller-Code:

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class C_register extends CI_Controller { 

    function __construct(){ 
     parent::__construct(); 
     $this->load->model('m_register'); 
    } 

    // function index() 
    // { 
    // $this->template->load('static','register'); 
    // } 

    function do_insert(){ 
     // $this->load->helper('form'); 
     $this->load->library('form_validation'); 

     $this->form_validation->set_rules('firstname', 'firstname', 'required'); 
     $this->form_validation->set_rules('lastname', 'lastname', 'required'); 
     $this->form_validation->set_rules('fullname', 'fullname', 'required'); 
     $this->form_validation->set_rules('username', 'username', 'required'); 
     $this->form_validation->set_rules('email', 'email', 'required'); 
     $this->form_validation->set_rules('pass', 'pass', 'required'); 
     $this->form_validation->set_rules('gender', 'gender', 'required'); 
     $this->form_validation->set_rules('job', 'job', 'required'); 
     if ($this->form_validation->run()) { 
      //true 
      $data = array(
      'firstname' => $this->input->post('firstname'), 
      'lastname' => $this->input->post('lastname'), 
      'fullname' => $this->input->post('fullname'), 
      'username' => $this->input->post('username'), 
      'email' => $this->input->post('email'), 
      'pass' => $this->input->post('pass'), 
      'gender' => $this->input->post('gender'), 
      'job' => $this->input->post('job') 
      ); 
      $this->m_register->InsertData($data); 
      echo "success"; 
     } else { 
      //false 
      // $this->index(); 
      echo "failed"; 
     } 
    } 
?> 

mein Modellcode:

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class M_register extends CI_Model { 

    public function InsertData($data){ 
     $this->db->insert("member", $data); 

    } 

    } 
?> 
+0

Vor 'if ($ this-> form_validation-> run()) {' Linie, versuchen Sie zur Erfassung der Post-Daten anzuzeigen gesendeten Daten mit 'print_r ($ _POST); sterben(); '. Erhält es irgendwelche oder alle geposteten Daten? –

Antwort

0

Mit Ihrer aktuellen Implementierung Sie haben versteckte n irgendwelche Fehler, die Sie vielleicht bekommen.

So, sie zu sehen, schnell, müssen Sie das Formular Helfer laden und die Linie

echo validation_errors(); 

nur hinzufügen, bevor Sie die Validierung laufen, kann man einfach so sehen, was los ist.

oder Sie können, indem Sie eine var_dump($_POST); an der gleichen Stelle

Verwandte Themen