如何在联系表单提交中显示成功/失败消息

时间:2016-10-19 18:34:09

标签: php

我正在试图找出一种简单的方法来显示消息是否以联系方式发送。在成功或失败的那一刻,它将重定向到指定的成功或失败页面。我要做的只是重定向,可能显示div,或模态或弹出,但我不知道如何在PHP中这样做。

形式:

<div class="col-lg-7 col-sm-7 contactboxform">
    <form action="contact_me.php" method="POST" id="contactform">
      <input type="text" name="name" placeholder="Name..." class="input-text">
      <input type="text" name="phone" placeholder="Phone Number..." class="input-text">
      <input type="email" name="email" placeholder="E-mail Address..." class="input-text">
      <input type="checkbox" name="interested">
      <textarea name="message" placeholder="What would you like to say?" class="input-text text-area" rows="7"></textarea>
      <button type="submit" id="subbtn" class="btn btn-default btn-lg">Submit</button>
    </form>
    </div>

PHP:

// send email
if (!empty($name) && !empty($email) && !empty($phone) && !empty($message)) {
    $success = mail($emailTo, $subject, $body, "From: <$emailFrom>");
}
if ($success){
    header('Location: success.html');
}
else {
    header('Location: failed.html');
}
//redirect to success page

所以我只是不确定如何在PHP中正确地说成功,显示特定的div / popup。

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以尝试创建div,然后在其中插入来自AJAX请求的响应。

例如,添加到您的HTML代码:

<div id="form_status"></div>

单击提交按钮时,执行AJAX请求:

<button type="submit" id="subbtn" class="btn btn-default btn-lg" onClick="validateForm();">Submit</button>

validateForm功能可以是:

function validateForm()
{
    var status = $('div#form_status');
    var form = $('form#contactform');
    $.ajax({
        url: 'your-php-file.php?'+form.serialize()
    }).done(function(data){
        status.html(data);
    });
}

your-php-file.php上,您可以使用$_GET['input_name']访问表单中的所有数据,其中input_name是表单上输入的name

这样,您在your-php-file.php上打印的所有内容都将打印到div#form_status,而无需刷新页面。