联系表格问题 - 手机号码不发送

时间:2014-01-21 07:26:54

标签: php html forms

我一直有这个联系表格的问题。我现在正试图让手机号码部分工作。 我已经能够让它与来自这里的某些代码一起工作,但它失去了我想保留的格式。任何人都可以找到这个表单没有发送手机号码的原因吗?

网站:www.krjwoodcraft.com

send.php

<?php

$name = $_POST['name'];
$subject = $_POST['subject'];
$sender = $_POST['email'];
$message= $_POST['message'];
$mobile = $_POST['mobile'];


  $your_site_name = "www.krjwoodcraft.com";
  $your_email = "rob.catharsis@gmail.com";   


// setting header:
    $header  = "MIME-Version: 1.0\r\n";
    $header .= "Content-type: text/html; charset=utf-8\r\n";
    $header .= "From: {$name} <{$sender}>\r\n";

    //   to       subject               message       header
    $result = mail($your_email, "Message from ".$your_site_name, nl2br($message), $header);
    echo "Your Message has been sent";
?>

contact.js

$(document).ready(function(){
  $("#send").click(function(){
    var name   = $("#name").val();
    var email  = $("#email").val();
    var message  = $("#message").val();
    var mobile  = $("#mobile").val();
    var error = false;

     if(email.length == 0 || email.indexOf("@") == "-1" || email.indexOf(".") == "-1"){
       var error = true;
       $("#error_email").fadeIn(500);
     }else{
       $("#error_email").fadeOut(500);
     }
     if(message.length == 0){
        var error = true;
        $("#error_message").fadeIn(500);
     }else{
        $("#error_message").fadeOut(500);
     }
     if(name.length == 0){
        var error = true;
        $("#error_name").fadeIn(500);
     }else{
        $("#error_name").fadeOut(500);
     }

     if(error == false){
       $("#send").attr({"disabled" : "true", "value" : "Loading..." });

       $.ajax({
         type: "POST",
         url : "send.php",    
         data: "name=" + name + "&email=" + email + "&subject=" + "You Got Email" +    "&message=" + message + "&mobile=" + mobile,
         success: function(data){    
          if(data == 'success'){
            $("#btnsubmit").remove();
            $("#mail_success").fadeIn(500);
          }else{
            $("#mail_failed").html(data).fadeIn(500);
            $("#send").removeAttr("disabled").attr("value", "send");
          }     
         }  
       });  
    }
        return false;                      
  });    
});

HTML:

   <!-- Contact Form -->
         <div class="row">

            <div class="span12">
            <div class="trac_contactform">
                <form id="contact_form" class="row" name="form1" method="post" action="send.php">

            <div class="span6">
            <input type="text" class="full" name="name" id="name" placeholder="Name" />
            <div id="error_name" class="error">Please check your name</div>
            </div>

            <div class="span6">
            <input type="text" class="full" name="email" id="email" placeholder="Email" />
            <div id="error_email" class="error">Please check your email</div>
            </div>

            <div class="span6">
            <input type="text" class="full" name="mobile" id="mobile"  placeholder="Phone Number"/>
            </div>

            <div class="span6">
            <input type="text" class="full" name="subject" id="subject"  placeholder="Subject"/>
            </div>

            <div class="span12">
            <textarea cols="10" rows="10" name="message" id="message" class="full"  placeholder="Message"></textarea>
            <div id="error_message" class="error">Please check your message</div>
            <div id="mail_success" class="success">Thank you. Your message has been sent.</div>
            <div id="mail_failed" class="error">Error, email not sent</div>
            <p id="btnsubmit">
            <input type="submit" id="send" value="Send Now" class="btn btn-large btn-primary btn-embossed" /></p>
            </div>
                </form>
            </div>
            </div>
            </div>            
        </div>
    </section>
    <!--END CONTACT PAGE-->

2 个答案:

答案 0 :(得分:0)

正如Hanky웃Panky正确地指出您没有在电子邮件中包含电话号码。请尝试以下代码。我将$_POST['message']存储在名为$sent_message的新变量中,并修改了您的$message变量,以包含$subject$sent_message$mobile变量。

<?php

$name = $_POST['name'];
$subject = $_POST['subject'];
$sender = $_POST['email'];
$sent_message = $_POST['message'];
$mobile = $_POST['mobile'];

$message = "Subject: " . $subject . "\r\n" . "Message: " . $sent_message . "\r\n" . "Phone number: " . $mobile;


  $your_site_name = "www.krjwoodcraft.com";
  $your_email = "rob.catharsis@gmail.com";   


// setting header:
    $header  = "MIME-Version: 1.0\r\n";
    $header .= "Content-type: text/html; charset=utf-8\r\n";
    $header .= "From: {$name} <{$sender}>\r\n";

    //   to       subject               message       header
    $result = mail($your_email, "Message from ".$your_site_name, nl2br($message), $header);
    echo "Your Message has been sent";
?>

答案 1 :(得分:0)

您没有将其包含在邮件正文中。你已经在php文件中传递了手机号码。您收到了该文件,但您没有在邮件正文中使用它 包括手机号码:

 $result = mail($your_email, "Message from ".$your_site_name, nl2br($message."\r\n" . "Phone number: " . $mobile), $header);