我尝试了所有可能的方法将数据插入数据库但我没有得到任何类型的输出 这是我的控制器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);
}
});
答案 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
}
});
});