简体   繁体   English

数据未插入数据库Codeigniter

[英]Data not inserting into the database codeigniter

I tried in all possible ways to insert the data into the database but i did not get any kind of output This is my controller pages.php 我尝试了所有可能的方式将数据插入数据库,但没有得到任何输出。这是我的控制器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();
        }

    }

}

?>

this is my view view/pages/index.php 这是我的观点view / 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>

this is my model models/contact_model 这是我的模型模型/ 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);
    }
?>

this is my custom.js file 这是我的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);
    }
});

First remove your insert_data function from your view function, and add it independently from that, and get the posts and pass them to your model like this: 首先从view函数中删除您的insert_data函数,然后独立添加它,然后获取帖子并将其传递给您的模型,如下所示:

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

}

Change your model as below: 如下更改模型:

class contact_model extends CI_Model {

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

}

Add on click event to your javascript: 点击事件添加到您的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
         }
     });
 });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM