2017-07-01 57 views
1

當我有這個我的PHP腳本不發送回覆:PHP郵件呼應退出發送

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

但是當我把它改成這樣,它的工作:

return mail($clientEmail, $subject . " (copy contact form xxx)", $message, $headers); 

我有回郵但echo不起作用:

echo 'Message has been sent (OK)'; 

我想看看發送消息時,我點擊正確發送,以同樣的方式,該消息現在顯示缺少的用戶名。

我不想將我移動到新的回顯消息頁面,而是希望保留在表單提交頁面上並對正確的帖子發表評論。

我需要更改.js.php

HTML:

<form action="assets/contact.php" class="contact-form long_contact" method="POST"> 
    <div class="form-group"> 
     <input type="text" name="username" id="username" class="username form-control" placeholder="Your Username" value=""> 
     <i class="fa fa-user"></i> 
     <span class="cross">x</span> 
     <span class="verify"><i class="fa fa-check" aria-hidden="true"></i></span> 
     <div class="alert alert-danger custom-alert"> 
      User must be more than 3 letter 
     </div> 
    </div> 

    <div class="form-group"> 
     <input type="text" name="email" class=" email form-control" placeholder="Your Email" value=""> 
     <i class="fa fa-envelope"></i> 
     <span class="cross">x</span> 
     <span class="verify"><i class="fa fa-check" aria-hidden="true"></i></span> 
     <div class="alert alert-danger custom-alert"> 
      Email can not be empty 
     </div> 
    </div> 

    <div class="form-group"> 
     <input type="text" name="subject" class="subject form-control" placeholder="Your subject" value=""> 
     <i class="fa fa-pencil"></i> 
     <span class="cross">x</span> 
     <span class="verify"><i class="fa fa-check" aria-hidden="true"></i></span> 
     <div class="alert alert-danger custom-alert"> 
      Subject can not be empty 
     </div> 
    </div> 

    <div class="form-group"> 
     <textarea class=" message form-control" name="message" placeholder="Your Message"></textarea> 
     <i class="fa fa-comments message-icon"></i> 
     <span class="cross">x</span> 
     <span class="verify"><i class="fa fa-check" aria-hidden="true"></i></span> 
     <div class="alert alert-danger custom-alert"> 
      Message should be more than <b>10</b> characteres 
     </div> 
    </div> 

    <div class="form-group"> 
     <input type="submit" name="submit" value="SEND" class="btn btn-success btn-block"> 
     <i class="fa fa-paper-plane send-icon"></i> 
    </div> 
</form> 

的JavaScript:

$(function() { 
 
    'use strict'; 
 
    // error variables 
 
    var UserError = true, 
 
     EmailError = true, 
 
     SubError = true, 
 
     MsgError = true; 
 

 
    $(".username").blur(function() { 
 
     if($(this).val().length < 4) { 
 
      $(this).css('border','1px solid #F00'); 
 
      $(this).parent().find('.custom-alert').fadeIn(300).end().find('.asterix').fadeOut(300).end().find('span.cross').fadeIn(300).end().find('span.verify').fadeOut(300); 
 
      UserError = true; 
 
     } else { 
 
      $(this).css('border','1px solid #080'); 
 
      $(this).parent().find('.custom-alert').fadeOut(300).end().find('.asterix').fadeOut(300).end().find('span.verify').fadeIn(300).end().find('span.cross').fadeOut(300); 
 
      UserError = false; 
 
     } 
 
    }); 
 

 
    $(".email").blur(function() { 
 
     if($(this).val() === '') { 
 
      $(this).css('border','1px solid #F00'); 
 
      $(this).parent().find('.custom-alert').fadeIn(300).end().find('.asterix').fadeOut(300).end().find('span.cross').fadeIn(300).end().find('span.verify').fadeOut(300); 
 
      EmailError = true; 
 
     } else { 
 
      $(this).css('border','1px solid #080'); 
 
      $(this).parent().find('.custom-alert').fadeOut(300).end().find('.asterix').fadeOut(300).end().find('span.verify').fadeIn(300).end().find('span.cross').fadeOut(300); 
 
      EmailError = false; 
 
     } 
 
    }); 
 

 
    $(".subject").blur(function() { 
 
     if($(this).val() === '') { 
 
      $(this).css('border','1px solid #F00'); 
 
      $(this).parent().find('.custom-alert').fadeIn(300).end().find('.asterix').fadeOut(300).end().find('span.cross').fadeIn(300).end().find('span.verify').fadeOut(300); 
 
      SubError = true; 
 
     } else { 
 
      $(this).css('border','1px solid #080'); 
 
      $(this).parent().find('.custom-alert').fadeOut(300).end().find('.asterix').fadeOut(300).end().find('span.verify').fadeIn(300).end().find('span.cross').fadeOut(300); 
 
      SubError = false; 
 
     } 
 
    }); 
 

 
    $(".message").blur(function() { 
 
     if($(this).val() .length < 10) { 
 
      $(this).css('border','1px solid #F00'); 
 
      $(this).parent().find('.custom-alert').fadeIn(300).end().find('.asterix').fadeOut(300).end().find('span.cross').fadeIn(300).end().find('span.verify').fadeOut(300); 
 
      MsgError = true; 
 
     } else { 
 
      $(this).css('border','1px solid #080'); 
 
      $(this).parent().find('.custom-alert').fadeOut(300).end().find('.asterix').fadeOut(300).end().find('span.verify').fadeIn(300).end().find('span.cross').fadeOut(300); 
 
      MsgError = false; 
 
     } 
 
    }); 
 

 
    // submit form 
 
    $('.contact-form').submit(function(event) { 
 
     if(UserError === true || EmailError === true || SubError === true || MsgError === true) { 
 
      event.preventDefault(); // prevent sending 
 
      $('.username,.email,.subject,.message').blur(); 
 
     } 
 
    }); 
 
});

<?php 
 
// Email address verification 
 
function isEmail($email) { 
 
    return filter_var($email, FILTER_VALIDATE_EMAIL); 
 
} 
 

 
if($_POST) { 
 
    // Enter the email where you want to receive the message 
 
    $emailTo = '[email protected]'; 
 

 
    $username = addslashes(trim($_POST['username'])); 
 
    $clientEmail = addslashes(trim($_POST['email'])); 
 
    $subject = addslashes(trim($_POST['subject'])); 
 
    $message = addslashes(trim($_POST['message'])); 
 
    
 
    if($username != '' && isEmail($clientEmail) && $subject != '' && $message != '') { \t \t 
 
     // Send email 
 
     $message = "Message from: " . $username . "\r\n" . $message; 
 
     $headers = "From: " . $clientEmail . "<" . $clientEmail . ">" . "\r\n" . "Reply-To: " . $clientEmail; 
 
     mail($emailTo, $subject . " (contact form xxx)", $message, $headers); 
 
     return mail($clientEmail, $subject . " (copy contact form xxx)", $message, $headers); 
 
    } 
 

 
    echo 'Message has been sent (OK)'; 
 
} 
 
?>

+5

可以嘗試一個最小的例子? – hagello

回答

0

問題是,您的代碼(其中包含您希望顯示文本的echo)的HTML位置錯誤。它可以位於隱藏標記中,也可以位於script之內,也可以位於HTML註釋中。確保它顯示在正確的位置。