Php 不获取post值
我正在使用此脚本从联系人表单发送电子邮件。我收到了电子邮件,但信息是空的,我尝试“回显”帖子的值,但没有,我遗漏了什么? 我想我的HTML表单可能有问题,但我看不到 sendmail.phpPhp 不获取post值,php,html,forms,post,Php,Html,Forms,Post,我正在使用此脚本从联系人表单发送电子邮件。我收到了电子邮件,但信息是空的,我尝试“回显”帖子的值,但没有,我遗漏了什么? 我想我的HTML表单可能有问题,但我看不到 sendmail.php $status = array( 'type'=>'success', 'message'=>'Thank you for contact us. As early as possible we will contact you ' ); $nome = addslashes
$status = array(
'type'=>'success',
'message'=>'Thank you for contact us. As early as possible we will contact you '
);
$nome = addslashes($_POST['name']);
$email = addslashes($_POST['email']);
$tel = addslashes($_POST['telephone']);
$subject = addslashes($_POST['subject']);
$msg = addslashes($_POST['message']);
$para = "*******@gmail.com";
$body = "Nome: " .$nome. "\nE-mail: " .$email. "\nTelefone: " .$tel. "\nMensagem: " .$msg;
$header = "From: contact@*******.com.br"."\r\n"."Reply-To: ".$email."\r\n"."X-Mailer: PHP/".phpversion();
$success = mail($para, $subject, $body, $header);
echo json_encode($status);
表单页html
<section id="contact-page">
<div class="container">
<div class="center">
<h2>Deixe sua mensagem</h2>
</div>
<div class="row contact-wrap">
<div class="status alert alert-success" style="display: none"></div>
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
<div class="col-sm-5 col-sm-offset-1">
<div class="form-group">
<label>Nome *</label>
<input type="text" name="name" class="form-control" required="required">
</div>
<div class="form-group">
<label>Email *</label>
<input type="email" name="email" class="form-control" required="required">
</div>
<div class="form-group">
<label>Telefone</label>
<input type="phone" name="telephone"class="form-control">
</div>
</div>
<div class="col-sm-5">
<div class="form-group">
<label>Assunto *</label>
<input type="text" name="subject" class="form-control" required="required">
</div>
<div class="form-group">
<label>Mensagem *</label>
<textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea>
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Enviar</button>
</div>
</div>
</form>
</div>
</div>
</section>
苏亚曼萨米酒店
诺姆*
电子邮件*
电传
阿桑托*
男装*
羡慕
JS中的AJAX:
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
var form_status = $('<div class="form_status"></div>');
$.ajax({
url: $(this).attr('action'),
beforeSend: function(){
form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
}
}).done(function(data){
form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut();
});
});
var form=$(“#主联系人表单”);
表单提交(功能(事件){
event.preventDefault();
变量形式_状态=$('');
$.ajax({
url:$(this.attr('action'),
beforeSend:function(){
form.prepend(form_status.html(“电子邮件正在发送…”).fadeIn();
}
}).完成(功能(数据){
form_status.html(''+data.message+'
').delay(3000).fadeOut();
});
});
默认情况下,会发送ajax。此JavaScript代码未指定POST方法;因此,尽管调用了PHP脚本,但它从未收到任何数据
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
var form_status = $('<div class="form_status"></div>');
$.ajax({
url: $(this).attr('action'),
beforeSend: function(){
form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
}
}).done(function(data){
form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut();
});
});
var form=$(“#主联系人表单”);
表单提交(功能(事件){
event.preventDefault();
变量形式_状态=$('');
$.ajax({
url:$(this.attr('action'),
beforeSend:function(){
form.prepend(form_status.html(“电子邮件正在发送…”).fadeIn();
}
}).完成(功能(数据){
form_status.html(''+data.message+'
').delay(3000).fadeOut();
});
});
更新后的脚本如下所示(请参阅):
var form=$(“#主联系人表单”);
表单提交(功能(事件){
event.preventDefault();
变量形式_状态=$('');
$.ajax({
url:$(this.attr('action'),
类型:“POST”,
data:form.serialize(),//序列化表单的元素。
beforeSend:function(){
form.prepend(form_status.html(“电子邮件正在发送…”).fadeIn();
}
}).完成(功能(数据){
form_status.html(''+data.message+'
').delay(3000).fadeOut();
});
});
使用浏览器的web控制台查看它是否发送了post value您的代码是否正常工作,是否在您单击“提交”后重定向到Send Email页面?@Timmoton我认为它没有发送post value,但我看不到任何解决方案that@ryo7689没有,这很奇怪。提交时页面会刷新吗?是否有javascript观察者监视提交按钮?我这样问是因为脚本是用json响应的,所以它可能是通过ajax调用的。Yeeeaaaa!!这很有效,非常感谢你,我的朋友!
var form = $('#main-contact-form');
form.submit(function(event){
event.preventDefault();
var form_status = $('<div class="form_status"></div>');
$.ajax({
url: $(this).attr('action'),
type: "POST",
data: form.serialize(), // serializes the form's elements.
beforeSend: function(){
form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
}
}).done(function(data){
form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut();
});
});