2017-12-31 70 views
1

私は奇妙な問題があります。 フォームからコントローラにデータを渡すことができません。私のコードは正しかったと思いますが、なぜデータを渡すことができないのか分からず、常に「失敗」と言います。投稿したデータを印刷しようとしましたが、データがないと表示されます。 私は何か忘れてしまったことがありますか?あなたは私を助けることができますか?ビューからコントローラにデータを渡すことができません

は、ここに私のコードです

ビューコード:

<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> 

私のコントローラのコード:

<?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"; 
     } 
    } 
?> 

私のモデルコード:あなたの現在の実装では

<?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

var_dump($_POST);を行うことによって、ポストデータを表示することができます$ _POST); die(); '。投稿されたデータの一部または全部を取得していますか? –

答えて

0

、あなたが持っています隠れるnあなたが遭遇している可能性のあるエラー。

ので、それらを参照するには、すぐに、あなたは何が起こっているか見ることができるだけので、フォームヘルパーをロードし、検証を実行する直前に

echo validation_errors(); 

の行を追加する必要があります。

か、( `ますprint_rを使用してポストされたデータをキャプチャしようとすると、`場合(の$ this - > form_validation->実行()){ `ラインの前に同じ場所に

関連する問題