PHP 表单在提交时不显示成功或错误消息

问题描述

在这里查看了很多帖子,但我无法解决这个问题。 我有一个 PHP 表单,虽然发送了电子邮件,但它没有显示任何信息,我不知道我错过了什么。

PHP 中,它提到了成功和失败,但没有提及该消息的位置?我之前设置过 PHP 表单,但这让我很失望。

有人可以帮忙吗?

sendmail.PHP 代码

<?PHP

// Define some constants
define( "RECIPIENT_NAME","Email" );
define( "RECIPIENT_EMAIL","email@email.com" );


// Read the form values
$success = false;
$senderName = isset( $_POST['username'] ) ? preg_replace( "/[^\s\S\.\-\_\@a-zA-Z0-9]/","",$_POST['username']) : "";
$senderEmail = isset( $_POST['email'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/",$_POST['email'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/",$_POST['message'] ) : "";

// If all values exist,send the email
if ( $senderName && $senderEmail && $message) {
  $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
  $headers = "From: " . $senderName . "";
  $msgBody = " Email: ". $senderEmail . " Message: " . $message . "";
  $success = mail( $recipient,$headers,$msgBody );

  //Set Location After Successsfull Submission
  header('Location: contact.html?message=Successfull');
}

else{
    //Set Location After Unsuccesssfull Submission
    header('Location: contact.html?message=Failed');    
}

?>

contact.html 的 HTML 代码

 <!--Contact Section-->
    <section class="contact-section">
        <div class="auto-container">

            <div class="info-container">
                <div class="row clearfix">
                </div>
            </div>

            <div class="contact-container">
                <div class="row clearfix">
                    <!--Form-->
                    <div class="form-column col-lg-6 col-md-12 col-sm-12">
                        <div class="inner wow fadeInLeft" data-wow-delay="0ms" data-wow-duration="1500ms">
                            <div class="sec-title">
                                <h2>Send <strong>Your Message</strong></h2>
                                <div class="lower-text">Don’t Hesitate to Contact Us</div>
                            </div>
                            <div class="default-form contact-form">
                                <form method="post" id="contact-form" action="sendemail.PHP">
                                    <div class="row clearfix">          
                                        <div class="form-group col-lg-6 col-md-6 col-sm-12">
                                            <div class="field-label">Name</div>
                                            <div class="field-inner">
                                                <input type="text" name="username" placeholder="Your Name" required="" value="">
                                            </div>
                                        </div>

                                        <div class="form-group col-lg-6 col-md-6 col-sm-12">
                                            <div class="field-label">Email</div>
                                            <div class="field-inner">
                                                <input type="email" name="email" placeholder="Email Address" required="" value="">
                                            </div>
                                        </div>

                                        <div class="form-group col-lg-12 col-md-12 col-sm-12">
                                            <div class="field-label">Message</div>
                                            <div class="field-inner">
                                                <textarea name="message" placeholder="Write your message..." required=""></textarea>
                                            </div>
                                        </div>
                
                                        <div class="form-group col-lg-12 col-md-12 col-sm-12">
                                            <button type="submit" class="theme-btn btn-style-three"><span class="btn-title">Send Your Message</span></button>
                                        </div>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        </div>
    </section>

感谢任何可以提供帮助的人。 :)

解决方法

contact.php 页面中,您要检查 URL 中的消息参数并编写此代码以显示消息

<?php if($_GET['message'] == 'Successfull'){?>
// here you can add your message when Successfull like
   <p> message has been sent Successfully </p>
<?php }else{ ?>
// here you can add your message when Failed
    <p> sorry cant sent message </p>
<?php } ?>

希望这个回答能帮到你