2016-04-16 2 views
0

Я использую версию обновления stepsForm.js из codrops. В любом случае контактная форма отправляет электронное письмо, но ни одно из значений со входа i.e $_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>

в основном получаю «E-mail: пустое место "," Имя: пусто .. "и т.д. спасибо!

+1

по умолчанию является $ _GET.And вы пытаетесь получить значение формы используя post способ. Попробуйте использовать метод = "post" в теге формы –

ответ

5

Необходимо добавить method="post" в свой HTML-код: <form>. Формы будут по умолчанию равны $_GET, если вы не укажете использовать другой метод HTTP-запроса. Если вы посмотрите на свою адресную строку после отправки существующей формы, вы, вероятно, увидите все представленные параметры в URL-адресе.

Вот как ваш <form> тег должен выглядеть:

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

Я бы также изменил ваш php-скрипт, чтобы проверить, что данные действительно были опубликованы, как и такие 'if (! Empty ($ _ POST))', а также запрограммировать ваши обязательные поля, чтобы увидеть если они существуют, прежде чем пытаться отправить электронное письмо :) удачи – codenathan

+0

wow thanks не могу поверить, что я сделал такое упущение. Огромное спасибо! –

+0

@codenathan У меня уже есть javascript, убедившись, что поля заполнены и подтверждены –

2

Используйте method атрибут формы со значением post как метод формы

<form method="post" ...... 
Смежные вопросы