数据未插入数据库codeigniter

时间:2014-07-08 14:14:49

标签: php jquery mysql codeigniter

我尝试了所有可能的方法将数据插入数据库但我没有得到任何类型的输出 这是我的控制器pages.php

<?php

class pages extends CI_Controller {

    function view($page = 'index') {

        $this->load->view('pages/index');

        function insert_data() {
            $this->load->model('contact_model');
            $this->contact_model->insert_entry();
        }

    }

}

?>

这是我的视图/ pages / index.php

<form id="submit">

    name <input  type="text" id="name" >    

    email<input type="email" id="email">


    message<textarea id="message"></textarea>              

    <button type="button"  id="submit1">Send</button>
    <a id="ack"></a>         
</form>

这是我的模特模型/ contact_model

<?php

class contact_model extends CI_Model {

    function insert_entry() {
        $data = array(
            'name' => 'name',
            'email' => 'email',
            'message' => 'message');

        $this->db->insert('contactus', $data);
    }
?>

这是我的custom.js文件

$.ajax({
    url: "<?php echo site_url();?>/pages/insert_data",
    type: 'POST',
    data: {"name": $("#name").val(), "email": $("#email").val(), "message": $("#message").val()},
    success: function(data) {
        $("div#ack").html(data);
    }
});

1 个答案:

答案 0 :(得分:0)

首先从您的insert_data功能中移除view功能,并将其独立添加,并获取帖子并将其传递给您的模型,如下所示:

class pages extends CI_Controller {

    function view($page = 'index') {
        $this->load->view('pages/index');
    }

    function insert_data(){
        $data = array(
            'name' =>  $this->input->post('name'),
            'email' => $this->input->post('email'),
            'message' => $this->input->post('message')
        );
        $this->load->model('contact_model');
        $this->contact_model->insert_entry($data);
        echo json_encode($data);
    }

}

按以下方式更改模型:

class contact_model extends CI_Model {

    function insert_entry($data) {
        $this->db->insert('contactus', $data);
    }

}

将点击事件添加到您的javascript:

$("#submit1").on('click',function(){
     $.ajax({
         url: "<?php echo site_url('pages/insert_data');?>",
         type: 'POST',
         data: {"name": $("#name").val(), "email": $("#email").val(), "message": $("#message").val()},
         success: function(data) {
             $("#ack").html(data); // change here too
         }
     });
 });
相关问题