【发布时间】:2017-07-27 06:48:54
【问题描述】:
控制器:test.php
public function signin()
{
if($this->input->post('insert'))
{
$name = trim($this->input->post('name'));
$email = trim($this->input->post('email'));
$phone = trim($this->input->post('phone'));
$message = trim($this->input->post('message'));
$s_data = date('Y-m-d');
$data = array(
'name' => $name,
'email' => $email,
'phone' => $phone,
'message' => $message,
's_date' => $s_date
);
$recaptchaResponse = trim($this->input->post('g-recaptcha-response'));
$userIp=$this->input->ip_address();
$secret='****************************';
$url="https://www.google.com/recaptcha/api/siteverify?secret=".$secret."&response;=".$recaptchaResponse."&remoteip;=".$userIp;
$response = $this->curl->simple_get($url);
$status= json_decode($response, true);
$this->db->insert('contact',$data);
if($status['success'])
{
$this->session->set_flashdata('flashSuccess', 'successfull');
}
else
{
$this->session->set_flashdata('flashSuccess', 'Sorry Google Recaptcha Unsuccessful!!');
}
}
}
Ajax 代码:
<script>
$(document).ready(function(){
$("#insert").click(function(){
var name = $("#name").val();
var email = $("#email").val();
var phone = $("#phone").val();
var message = $("#message").val();
var dataString = 'name='+ name + '&email='+ email + '&phone='+ phone + '&message='+ message;
if(name==''||email==''||phone==''||message=='')
{
alert("Please Fill All Fields");
}
else
{
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "<?php echo base_url('index.php/'); ?>test/signin",
data: dataString,
cache: false,
success: function(result){
alert(result);
}
});
}
return false;
});
});
</script>
引导模式查看代码:-
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">header</h4>
</div>
<div class="modal-body">
<div class="error"><strong><?=$this->session->flashdata('flashSuccess')?></strong></div>
<form method="post" enctype="multipart/form-data" id="form1">
<input type="text" class="form-control1" id="name" name="name" placeholder="Enter Your Name">
<input type="text" class="form-control1" id="email" name="email" placeholder="Enter Your Email Id">
<input type="text" class="form-control1" id="phone" name="phone" placeholder="Enter Your Phone">
<textarea class="form-control1" name="message" id="message" placeholder="Enter Your Message"></textarea>
<div class="g-recaptcha" data-sitekey="****************************"></div>
</br>
<input type="submit" name="insert" id="insert" value="Submit">
</form>
</div>
<div class="modal-footer" style="background: #2874f0;padding: 25px;">
<p>footer</p>
</div>
</div>
</div>
</div>
在这段代码中,我创建了一个bootstrap modal,它在页面加载时打开,并且在模态正文中我使用 Google recaptch 创建了一个简单的查询。现在,我想在将值插入数据库后使用 ajax 插入表单数据而不加载页面,它显示成功消息。
那么,我该怎么做呢?请帮帮我。
谢谢
【问题讨论】:
-
它将如何工作?您在表单中有
submit按钮,使用ajax 方法POST并发送GET等数据 -
那么,请告诉我该怎么做? @JigarShah
-
你在
$status['success']的谷歌recaptcha 响应中得到了什么 -
是的,@KundanPrasad 在 $status['success'] 我得到谷歌 recaptcha 响应
标签: php ajax codeigniter bootstrap-modal recaptcha