提交后的PHP成功消息

时间:2017-04-06 05:22:27

标签: php html web echo

我使用简单的PHP代码从我的网站发送邮件

    <?php 

    $headers ="From:<$from>\n";
    $headers.="MIME-Version: 1.0\n";
    $headers.="Content-type: text/html; charset=iso 8859-1";

    mail($to,$subject,$body,$headers,"-f$from");


    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $formcontent="From: $name \n Message: $message";
    $recipient = "contato@pedrogps.com";
    $subject = "Contact Form";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    echo "Thanks for your message";
    ?>

当我提交电子邮件时,它会带来另一个页面(mail.php)和#34;感谢您的留言&#34;消息。

如何在不切换页面的情况下在html页面中显示此消息。

2 个答案:

答案 0 :(得分:0)

如果您不想加载网页,则在提交时,您需要一些JavaScript。

<form id="mailForm">
    <input type="text" name="name">
    <input type="text" name="email">
    <input type="text" name="message">
    <input type="submit" value="Send">
</form>
<div id="result"></div>

<script>
    $('#mailForm').submit(function(e) {
        e.preventDefault();

        var formData = $('#mailForm').serialize();
        var url = "mail.php";
        var posting = $.post(url, formData);

        posting.done(function(data) {
            $("#result").append(data);
        });
    });
</script>

请记住加载jQuery库,在此处阅读有关jQuery的更多信息:https://learn.jquery.com/about-jquery/how-jquery-works/。在这里阅读有关jQuery.post()的更多信息:https://api.jquery.com/jquery.post/

如果你不关心网页是否加载,在提交时,你可以轻松地使用PHP中的include功能。

<form id="mailForm" method="POST">
    <input type="text" name="name">
    <input type="text" name="email">
    <input type="text" name="message">
    <input type="submit" name="mail" value="Send">
</form>

<div id="result">
    <?php
        if(isset($_POST['mail']))
        {
            include("mail.php");
        }
    ?>
</div>

也许你应该检查更多的东西,而不仅仅是设置$_POST['mail'],但你会明白这一点。

答案 1 :(得分:0)

有两种方法可以使用AJAX,另一种方法是使用:

  1. 将表单操作设为空,如

     <form name="form1" action="" method="post">
    
  2. 在表单开始之前或页面顶部写下这个php代码:

    if(isset($_POST)){
         $name = $_POST['name'];
         $email = $_POST['email'];
         $message = $_POST['message'];
         $formcontent="From: $name \n Message: $message";
         $recipient = "contato@pedrogps.com";
         $subject = "Contact Form";
         $mailheader = "From: $email \r\n";
         mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
        echo "Thanks for your message"; // store this msg in a variable and display wherever you required to echo
    

    }