2016-06-28 55 views
1

我在我的网站上有一个php联系表。然而,当我的客户输入他们的电子邮件地址并提交他们的信息时,我收到了我自己的电子邮件回复。例如,如果他们输入[email protected],我会收到电子邮件[email protected] ....我如何解决这个问题,以便回复部分显示电子邮件的客户输入?谢谢。我该如何解决这个PHP邮件表单问题?

这是我为我的联系表格代码

<form action="php/contact.php" method="post" class="contactForm" id="contactForm"> 
          <fieldset> 
           <div class="formValidationError bg-red-dark color-white" id="contactNameFieldError"> 
            <p class="center-text uppercase small-text">Name is required!</p> 
           </div>    
           <div class="formValidationError bg-red-dark color-white" id="contactEmailFieldError"> 
            <p class="center-text uppercase small-text">Mail address required!</p> 
           </div> 
           <div class="formValidationError bg-red-dark color-white" id="contactEmailFieldError2"> 
            <p class="center-text uppercase small-text">Mail address must be valid!</p> 
           </div> 
           <div class="formValidationError bg-red-dark color-white" id="contactMessageTextareaError"> 
            <p class="center-text uppercase small-text">Message field is empty!</p> 
           </div> 
           <div class="formFieldWrap"> 
            <label class="field-title contactNameField" for="contactNameField">Name:<span>(required)</span></label> 
            <input type="text" name="contactNameField" value="" class="contactField requiredField" id="contactNameField"/> 
           </div> 
           <div class="formFieldWrap"> 
            <label class="field-title contactEmailField" for="contactEmailField">Email: <span>(required)</span></label> 
            <input type="text" name="contactEmailField" value="" class="contactField requiredField requiredEmailField" id="contactEmailField"/> 
           </div> 
           <div class="formTextareaWrap"> 
            <label class="field-title contactMessageTextarea" for="contactMessageTextarea">Message: <span>(required)</span></label> 
            <textarea name="contactMessageTextarea" class="contactTextarea requiredField" id="contactMessageTextarea"></textarea> 
           </div> 
           <div class="formSubmitButtonErrorsWrap"> 
            <input type="submit" class="buttonWrap button button-grey contactSubmitButton" id="contactSubmitButton" value="SUBMIT" data-formId="contactForm"/> 
           </div> 
          </fieldset> 
         </form>  

而且这里是PHP脚本

<?php 
// variables start 
$name = ""; 
$email = ""; 
$message = ""; 

$name = trim($_POST['contactNameField']); 
$email = trim($_POST['contactEmailField']); 
$message = trim($_POST['contactMessageTextarea']); 
// variables end 

// email address starts 
$emailAddress = '[email protected]'; 
// email address ends 

$subject = "Mywebsite.com | Mobile - Message From: $name"; 
$message = "<strong>From:</strong> $name <br/> <strong>E-Mail:</strong> $email </br><br/> <strong>Message:</strong> $message"; 

$headers = 'From: '. $name . '<' . $email . '>' . "\r\n"; 
$headers = 'Reply-To: ' . $email . "\r\n"; 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

//send email function starts 
mail($emailAddress, $subject, $message, $headers); 
//send email function ends 

?>

+0

你有没有试过回复,看看它去了哪里?您的标题对我来说似乎没有问题 – Ctc

回答

0

在你的代码,你没有代码添加到您的标题字符串,您每次只是重置它。 你最终发送到邮件函数的头变量只是;

'Content-type:text/html; charset = iso-8859-1'。 “\ r \ n”个

你需要做的是要么你设置$标题=,改变等号,所以它看起来像这样$头。=

由于这意味着它会添加到字符串。或者,将其格式化为一个大型字符串。

<?php 
$headers = 'From: '. $name . '<' . $email . '>' . "\r\n"; 
$headers .= 'Reply-To: ' . $email . "\r\n"; 

$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

//send email function starts 
mail($emailAddress, $subject, $message, $headers); 
+0

当我按照您的建议进行操作时,电子邮件甚至不会进入我的收件箱....您认为可能有错的任何其他内容?当我关闭“。=”这段时间,并使用=号时,电子邮件到达我的收件箱 – user6505472

+0

@ user6505472我认为你的标题有点不对。使用from标题尝试将其设置为电子邮件,删除名称变量和PHP网站上的<>符号说明如何做你在做什么http://php.net/manual/en/function.mail.php看例2 – StormBurpee