私の問題は私が作成したフォームです。何らかの理由でシンプルなものが欠けていると確信しています。他のすべてのメールに電話番号を送信しませんフィールドが送信され、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になるだろう逃した私は年齢のためにこれを見ていて、私が見逃しているものを見ることができません。
これをデバッグするとき、どの段階で値が失われますか? JavaScriptがリクエストに正常に追加されますか?サーバーに送信されたときに要求に含まれていますか?メールを作成する前に、サーバーでコードが表示されていますか?これをデバッグすることで、これを絞り込むことができます。 – David