问题描述
我在这里查看了很多帖子,但我无法解决这个问题。 我有一个 PHP 表单,虽然发送了电子邮件,但它没有显示任何信息,我不知道我错过了什么。
在 PHP 中,它提到了成功和失败,但没有提及该消息的位置?我之前设置过 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 } ?>
希望这个回答能帮到你