2016-04-16 62 views
0

我正在使用來自codrops的升級版本stepsForm.js。無論如何,聯繫表格發送電子郵件,但沒有輸入值,即$_POST['email']。 PHP的...聯繫表單不發送表單值

<?php 
 

 
$field_email = $_POST['email']; 
 
$field_name = $_POST['name']; 
 
$field_residence = $_POST['residence']; 
 
$field_profession = $_POST['profession']; 
 
$field_club = $_POST['fave_club']; 
 
$field_message = $_POST['message']; 
 

 

 
$mail_to = '[email protected]'; 
 
$subject = 'Message from vidz.dundaah visitor '.$field_name; 
 

 
$body_message = 'E-mail: '."\n".$field_email."\n\n"; 
 
$body_message .= 'Name: '."\n".$field_name."\n\n"; 
 
$body_message .= 'Residence: '."\n".$field_residence."\n\n"; 
 
$body_message .= 'Profession: '."\n".$field_profession."\n\n"; 
 
$body_message .= 'Fave_club: '."\n".$field_club."\n\n"; 
 
$body_message .= 'Message: '."\n".$field_message; 
 

 
$headers = 'From: '.$field_name."\r\n"; 
 
$headers .= 'Reply-To: '.$field_email."\r\n"; 
 

 
$mail_status = mail($mail_to, $subject, $body_message, $headers); 
 

 
?> 
 
\t <script type="text/javascript"> 
 
\t \t window.location = '../contact.html'; 
 
\t </script> 
 
<?php 
 

 
?>

HTML表單...和js文件stepsForm.js和css文件stepsForm.css

<section class="cool_form"> 
 
    <form action="css/contactForm.php" id="theForm" class="simform" autocomplete="off"> 
 
    <div class="simform-inner"> 
 
     <ol class="questions"> 
 
     <li> 
 
      <span><label for="q1">What's your email?</label></span> 
 
      <input id="q1" name="email" type="email" spellcheck="false" /> 
 
     </li> 
 
     <li> 
 
      <span><label for="q2">What's your name?</label></span> 
 
      <input id="q2" name="name" type="text" spellcheck="false" /> 
 
     </li> 
 
     <li> 
 
      <span><label for="q3">Where do you live?</label></span> 
 
      <input id="q3" name="residence" type="text" spellcheck="false" /> 
 
     </li> 
 
     <li> 
 
      <span><label for="q4">What do you do?</label></span> 
 
      <input id="q4" name="profession" type="text" spellcheck="false" /> 
 
     </li> 
 
     <li> 
 
      <span><label for="q5">Favourite club?</label></span> 
 
      <input id="q5" name="fave_club" type="text" spellcheck="false" /> 
 
     </li> 
 
     <li> 
 
      <span><label for="q6">Tell us something...</label></span> 
 
      <input id="q6" name="message" type="text" spellcheck="false" /> 
 
     </li> 
 
     </ol> 
 
     <button class="submit" type="submit">Send answers</button> 
 
     <div class="controls"> 
 
     <button class="previous"></button> 
 
     <button class="next"></button> 
 
     <div class="progress"></div> 
 
     <span class="number"> 
 
\t \t \t \t \t \t \t \t <span class="number-current"></span> 
 
     <span class="number-total"></span> 
 
     </span> 
 
     <span class="error-message"></span> 
 
     </div> 
 
    </div> 
 
    <span class="final-message"></span> 
 
    </form> 
 
</section>

基本上得到「電郵:空白空間「,」名稱:空白..「等。謝謝!

+1

默認方法是$ _GET.And你試圖讓表格值使用post方法。嘗試在form標籤中使用method =「post」 –

回答

5

您需要將method="post"添加到您的HTML <form>標記中。除非您指定使用不同的HTTP請求方法,否則表單將默認爲$_GET。如果您在提交現有表單後查看地址欄,則可能會在URL中看到所有提交的參數。

這是你的<form>標籤應該是什麼樣子:

<form action="css/contactForm.php" id="theForm" class="simform" autocomplete="off" method="post"> 
+0

我也會改變你的php腳本來檢查數據是否已經像這樣'if(!empty($ _ POST))'發佈,並且循環遍歷所需的字段以查看如果它們在嘗試發送電子郵件之前存在:)祝你好運 – codenathan

+0

哇感謝不能相信我做了這樣的遺漏。謝謝一堆! –

+0

@codenathan我已經有javascript確保字段填充和驗證 –

2

使用method與價值post形式的屬性類似形式的

<form method="post" ......