我有一个奇怪的问题。 我无法将数据从表单传递给控制器。我认为我的代码是正确的,但我不知道为什么它无法传递数据 - 并且总是说"失败"。我试图打印我发布的数据,但它说没有数据'。 也许有些事我忘了做,你能帮助我吗?
这是我的代码
查看代码:
<?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}}
答案 0 :(得分:0)
根据您当前的实施,您隐藏了可能遇到的任何错误。
因此,要快速查看它们,您需要加载表单助手并添加行
echo validation_errors();
在您运行验证之前,您就可以看到发生了什么。
或者您可以通过在同一位置执行var_dump($_POST);
来查看帖子数据