2011-08-08 11 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> 

ジャバスクリプトは次のとおりです。

$('#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; 

あなたは携帯電話の変数を接続するために不足しています!

関連する問題