Php 不获取post值

Php 不获取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

我正在使用此脚本从联系人表单发送电子邮件。我收到了电子邮件,但信息是空的,我尝试“回显”帖子的值,但没有,我遗漏了什么? 我想我的HTML表单可能有问题,但我看不到

sendmail.php

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