无法将数据从视图传递到控制器

时间:2017-12-31 01:13:03

标签: php forms codeigniter-3

我有一个奇怪的问题。 我无法将数据从表单传递给控制器​​。我认为我的代码是正确的,但我不知道为什么它无法传递数据 - 并且总是说"失败"。我试图打印我发布的数据,但它说没有数据'。 也许有些事我忘了做,你能帮助我吗?

这是我的代码

查看代码:

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

    }

    }
?>

我的型号代码:

{{1}}

1 个答案:

答案 0 :(得分:0)

根据您当前的实施,您隐藏了可能遇到的任何错误。

因此,要快速查看它们,您需要加载表单助手并添加行

echo validation_errors();

在您运行验证之前,您就可以看到发生了什么。

或者您可以通过在同一位置执行var_dump($_POST);来查看帖子数据