我的sendemail.php联系表格不起作用?

时间:2015-03-09 20:19:16

标签: javascript php ajax email xampp

我正在尝试使用XAMPP测试此sendEmail.php脚本,但它无法正常工作。我相信脚本很好,但我不确定我是否以正确的方式测试它。我将php脚本(下面)中的电子邮件地址更改为我自己的电子邮件,填写联系表单并按下“发送”按钮,但邮件从未到达我的收件箱。装载机一直在旋转但没有任何反应。

我还尝试在HTML代码中将blank action =''更改为action ='inc / sendEmail.php',但没有任何反应。我启动了XAMPP并复制/粘贴了htdocs文件夹中的所有文件。当我通过localhost访问页面时,页面正常加载,但除了加载器一直在旋转之外,我从未收到任何确认我的邮件被发送(或没有)并且它永远不会到达我的收件箱。底部有一个小的ajax片段。这可能是问题吗?是否可以使用XAMPP测试Ajax,或者这可能不是通过XAMPP测试此表单的方法?如果有人能帮助我完成这项工作,我将不胜感激。谢谢你的时间!

由于我的PHP代码与我在Stackoverflow上找到的其他代码明显不同,我仍然无法找到答案?有谁能请我指出正确的方向?我真的很想使用这个代码而不是其他代码。感谢。

这是sendEmail.php:

<?php

// Replace this with your own email address
$siteOwnersEmail = 'user@website.com';


if($_POST) {

$fname = trim(stripslashes($_POST['contactFname']));
$lname = trim(stripslashes($_POST['contactLname']));
$email = trim(stripslashes($_POST['contactEmail']));
$subject = trim(stripslashes($_POST['contactSubject']));
$contact_message = trim(stripslashes($_POST['contactMessage']));

// Check First Name
if (strlen($fname) < 2) {
        $error['fname'] = "Please enter your first name.";
}
// Check Last Name
if (strlen($lname) < 2) {
    $error['lname'] = "Please enter your last name.";
}
// Check Email
if (!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $email)) {
    $error['email'] = "Please enter a valid email address.";
}
// Check Message
if (strlen($contact_message) < 15) {
    $error['message'] = "Please enter your message. It should have at least 15 characters.";
}
// Subject
if ($subject == '') { $subject = "Contact Form Submission"; }

// Set Name
$name = $fname . " " . $lname;

// Set Message
$message .= "Email from: " . $name . "<br />";
$message .= "Email address: " . $email . "<br />";
$message .= "Message: <br />";
$message .= $contact_message;
$message .= "<br /> ----- <br /> This email was sent from your site's contact form. <br />";

// Set From: header
$from =  $name . " <" . $email . ">";

// Email Headers
$headers = "From: " . $from . "\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";


if (!$error) {

  ini_set("sendmail_from", $siteOwnersEmail); // for windows server
  $mail = mail($siteOwnersEmail, $subject, $message, $headers);

    if ($mail) { echo "OK"; }
  else { echo "Something went wrong. Please try again."; }

} # end if - no validation error

else {

    $response = (isset($error['fname'])) ? $error['fname'] . "<br /> \n" : null;
    $response .= (isset($error['lname'])) ? $error['lname'] . "<br /> \n" : null;
    $response .= (isset($error['email'])) ? $error['email'] . "<br /> \n" : null;
    $response .= (isset($error['message'])) ? $error['message'] . "<br />" : null;

    echo $response;

} # end if - there was a validation error

}

?>

这是HTML:

<section id="contact">
    <h1 align="center">GET IN TOUCH WITH US<span>.</span></h1>
    <hr />

    <div class="row form-section">
        <div id="contact-form" class="twelve columns">
            <form name="contactForm" id="contactForm" method="post" action="">
                <fieldset>

                    <div class="row">
                        <div class="six columns mob-whole">
                            <label for="contactFname">First Name <span class="required">*</span></label>                                   
                                <input name="contactFname" type="text" id="contactFname" placeholder="First Name" value="" />                           
                        </div>
                        <div class="six columns mob-whole"> 
                            <label for="contactLname">Last Name <span class="required">*</span></label>                                
                                <input name="contactLname" type="text" id="contactLname" placeholder="Last Name" value="" />                            
                        </div>                          
                    </div>

                    <div class="row">
                        <div class="six columns mob-whole"> 
                            <label for="contactEmail">Email <span class="required">*</span></label>                                
                                <input name="contactEmail" type="text" id="contactEmail" placeholder="Email" value="" />                            
                        </div>
                        <div class="six columns mob-whole">  
                            <label for="contactSubject">Subject</label>                                
                                <input name="contactSubject" type="text" id="contactSubject" placeholder="Subject"  value="" />                         
                        </div>
                    </div>

                    <div class="row">
                        <div class="twelve columns">
                            <label  for="contactMessage">Message <span class="required">*</span></label>
                            <textarea name="contactMessage"  id="contactMessage" placeholder="Your Message" rows="10" cols="50" ></textarea>
                        </div>
                    </div>

                    <div>
                        <button class="submit full-width">Send Message</button>
                        <div id="image-loader">
                            <img src="images/loader.gif" alt="" />
                        </div>
                    </div>

                </fieldset>

            </form> <!-- /contactForm -->

            <!-- message box -->
            <div id="message-warning"></div>
            <div id="message-success">
               <i class="fa fa-check"></i>Your message was sent, thank you!<br />
            </div>

        </div> <!-- /contact-form -->       
    </div> <!-- /form-section -->     

</section>  <!-- /contact-->

这是JavaScript / Ajax代码:

$('form#contactForm button.submit').on('click', function() {

  $('#image-loader').fadeIn();

  var contactFname = $('#contactForm #contactFname').val();
  var contactLname = $('#contactForm #contactLname').val();
  var contactEmail = $('#contactForm #contactEmail').val();
  var contactSubject = $('#contactForm #contactSubject').val();
  var contactMessage = $('#contactForm #contactMessage').val();

  var data = 'contactFname=' + contactFname  + '&contactLname=' + contactLname + 
             '&contactEmail=' + contactEmail + '&contactSubject=' + contactSubject + 
             '&contactMessage=' + contactMessage;

  $.ajax({

      type: "POST",
      url: "inc/sendEmail.php",
      data: data,
      success: function(msg) {

        // Message was sent
        if (msg == 'OK') {
           $('#image-loader').fadeOut();
           $('#message-warning').hide();
           $('#contactForm').fadeOut();
           $('#message-success').fadeIn();   
        }
        // There was an error
        else {
           $('#image-loader').fadeOut();
           $('#message-warning').html(msg);
            $('#message-warning').fadeIn();
        }

      }

  });
  return false;
});

0 个答案:

没有答案