2011-08-08 35 views
-1

我遇到的问题是我创建的表单我确定我缺少一些简单的东西,因为某些原因它不会将电话号码发送到所有其他电子邮件字段被发送并在emai中输出。我有一个我创建的网络表单的问题

HTML表单低于:

  <div class="form-wrapper"> 
       <p id="success"></p> 
        <form id="contact-form" name="contact-form" method="POST"> 
        <label class="label">Name:</label> 
        <p><input type="text" value="" name="contact-names" class="contact-names"/><span class="name-required"></span></p> 
        <label class="label">Email:</label> 
        <p><input type="text" value="" name="contact-email" class="contact-email"/><span class="email-required"></span></p> 
        <label class="label">Phone:</label> 
        <p><input type="text" value="" name="contact-phone" class="contact-phone"/><span class="phone-required"></span></p> 
        <label class="label">Message</label> 
        <p> 
        <textarea class="contact-commnent" name="comments"> 
        </textarea><span class="comment-required"></span></p> 
        <label class="label"></label> 
        <p id="p-submit"> 
        <input id="submit-form" class="submit-button" name="submit"type="submit" value="Submit"></p> 
       </form> 
       </div> 

的JavaScript是:

$('#submit-form').click(function(){ 

    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 
    var names    = $('#contact-form [name="contact-names"]').val(); 
    var email_address = $('#contact-form [name="contact-email"]').val(); 
    var phone = $('#contact-form [name="contact-phone"]').val(); 
    var comment   = $.trim($('#contact-form .contact-commnent').val()); 
    var data_html ='' ; 


       if(names == ""){ 
        $('.name-required').html('Your name is required.'); 
       }else{ 
        $('.name-required').html(''); 
       } 
       if(email_address == ""){ 
        $('.email-required').html('Your email is required.'); 
       }else if(reg.test(email_address) == false){ 
        $('.email-required').html('Invalid Email Address.'); 
       }else{ 
        $('.email-required').html(''); 
       } 

       if(phone == ""){ 
        $('.phone-required').html('Your Phone Number is required.'); 
       }else{ 
        $('.phone-required').html(''); 
       } 

       if(comment == ""){ 
        $('.comment-required').html('Comment is required.'); 
       }else{ 
        $('.comment-required').html(''); 
       } 

     if(comment != "" && names != "" && reg.test(email_address) != false){ 

      data_html = "names="+ names + "&comment=" + comment + "&email_address="+ email_address; 

      //alert(data_html); 

      $.ajax({ 
        type: 'POST', 
        url: 'contact-send.php', 
        data: data_html, 
        success: function(msg){ 
        if (msg == 'sent'){ 
          $('#success').html('Your Message Has Been Sent We Will Be In Touch Soon') ; 
          $('#contact-form [name="contact-names"]').val(''); 
          $('#contact-form [name="contact-email"]').val(''); 
          $('#contact-form [name="contact-phone"]').val(''); 
         $('#contact-form .contact-commnent').val(''); 

         }else{ 
          $('#success').html('Mail Error. Please Try Again.!') ; 
         } 
        } 
      }); 

     } 

     return false; 
    }); 

的PHP是:

<?php 
$names = $_POST['names']; 
$email = $_POST['email_address']; 
$phone = $_POST['phone']; 
$comment = $_POST['comment']; 
$to ='EMAIL ADDRESS GOES HERE REMOVED'; 

$message = ""; 
$message .= "Name: " . htmlspecialchars($names, ENT_QUOTES) . "<br>\n"; 
$message .= "Email: " . htmlspecialchars($email, ENT_QUOTES) . "<br>\n"; 
$message .= "Phone: " . htmlspecialchars($phone, ENT_QUOTES) . "<br>\n"; 
$message .= "Message: " . htmlspecialchars($comment, ENT_QUOTES) . "<br>\n"; 
$lowmsg = strtolower($message); 

$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\n"; 
$headers .= "From: \"" . $names . "\" <" . $email . ">\r\n"; 
$headers .= "Reply-To: " . $email . "\r\n"; 
$message = utf8_decode($message); mail($to, "Note from the Contact Form", $message, $headers); 

if ($message){ 
     echo 'sent'; 
}else{ 
     echo 'failed'; 
} 
?> 

如果有人能看到的东西我有错过了我会很g有成效的我一直在看这个很长时间,看不到我缺少的东西。

+1

当你调试这个,在哪个步骤丢失的值? JavaScript是否成功将它们添加到请求中?请求在发送到服务器时是否包含它们?服务器代码在撰写电子邮件之前是否看到它们?您可以通过调试将其缩小很多。 – David

回答

3
data_html = "names="+ names + "&comment=" + comment + "&email_address="+ email_address; 

这一行是您发布到服务器的数据,但它看起来像忘记附加电话号码!

1

使用:

data_html = "names="+ names + "&comment=" + comment + 
      "&email_address="+ email_address + "&phone=" + phone; 

代替:

data_html = "names="+ names + "&comment=" + comment + 
      "&email_address="+ email_address; 

你缺少附加电话变量!

相关问题