2014-01-23 3 views
0

Я новичок в PHP. Когда я отправляю почту, я получаю информацию только об имени и адресе электронной почты.Как настроить контактную форму?

Я знаю, что это может быть очень просто, но я еще не успел полностью изучить PHP, надеясь на ответы! :)

Мой PHP:

<?php 
$field_name = $_POST['cf_name']; 
$field_email = $_POST['cf_email']; 
$field_adress = $_POST['cf_adress']; 
$field_post = $_POST['cf_post']; 
$field_radio = $_POST['cf_radio']; 

$mail_to = '[email protected]'; 
$subject = 'Order from website - '.$field_name; 

$body_message = 'From: '.$field_name."\n"; <--- This one 

$body_message .= 'E-mail: '.$field_email."\n"; <--- and this one is the only fields i get in the mails :/ 

$body_message .= 'Adresse: '.$field_adress."\n"; 
$body_message .= 'Postnr/Sted: '.$field_post."\n"; 
$body_message .= 'Størrelse: '.$field_radio."\n"; 

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

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

if ($mail_status) { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('Success!'); 
     window.location = 'produkt.html'; 
    </script> 
<?php 
} 
else { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('something is wrong...'); 
     window.location = 'websiteadress'; 
    </script> 
<?php 
} 
?> 

Мой HTML разметка:

<form action="contact.php" method="post" onsubmit="return validateForm();"> 
     <div id="contentorder"> 
      <div class="pink"> 
       Fornavn og Etternavn<br /> 
      </div> 
      <div class="black"> 
       <input type="text" name="cf_name" required style="width: 260px; height: 20px;"> 
      </div> 
     </div> 

     <div id="contentorder"> 
      <div class="pink"> 
       E-Mail 
      </div> 
      <div class="black"> 
       <input type="text" name="cf_email" required style="width: 260px; height: 20px;"> 
      </div> 
     </div> 

     <div id="contentorder"> 
      <div class="pink"> 
       Postadresse 
      </div> 

      <div class="black"> 
       <input type="text" name="cf_adress" required style="width: 260px; height: 20px;"> 
      </div> 
     </div> 

     <div id="contentorder"> 
      <div class="pink"> 
       Postnummer og Sted<br /> 
      </div> 

      <div class="black"> 
       <input type="text" name="cf_post" required style="width: 260px; height: 20px;"> 
      </div> 
     </div> 

     <div id="contentorder"> 
      <div class="pink" style="width: 890px; margin-top: 20px; clear: both; "> 
       Størrelse:<br /> 
      </div> 


      <div class="radio-toolbar"> 

       <input type="radio" id="radio1" name="cf_radio" value="XS" checked required> 
       <label for="radio1">XS</label> 

       <input type="radio" id="radio2" name="cf_radio" value="S" required> 
       <label for="radio2">S</label> 

       <input type="radio" id="radio3" name="cf_radio" value="M" required> 
       <label for="radio3">M</label> 

       <input type="radio" id="radio4" name="cf_radio" value="L" required> 
       <label for="radio4">L</label> 

       <input type="radio" id="radio5" name="cf_radio" value="XL" required> 
       <label for="radio5">XL</label> 

       <input type="radio" id="radio6" name="cf_radio" value="XXL" required> 
       <label for="radio6">XXL</label> 

      </div> 

     </div> 

     <div id="contentorder"> 
      <input type="submit" value="Send" class="buttonbest"> 
     </div> 

    </form> 
+2

С одной стороны, если вы не собираетесь использовать функцию 'validateForm()', тогда избавиться от 'onsubmit =" return validateForm(); 'и я надеюсь, что эти' ----- ----- 'не являются частью вашего кода. –

+0

--------- не является частью кода :) было просто указать, какую информацию я получил из этой формы. – user3228988

+0

попробуйте удалить onsubmit = "return validateForm(); если вы не используете его, как @Fred -ii- сказал. убедитесь, что у вас есть контакт.php в той же папке, что и форма. Если вы используете все в одном файле, вы должны использовать action = "" или action = "/" – pl4g4

ответ

1

Ваш код работает абсолютно нормально со мной.

Я предполагаю, что у вас есть специальные символы в адресе (или в другом поле), который возится с вашим $ body_message.

Например:

$body_message .= 'Adresse: '.$field_adress."\n"; 

если $ field_adress является «Hollow Годрика», вы будете в конечном итоге с «Годрику» и \ п, скорее всего, будет проигнорировано. Перед тем, как манипулировать ими, убедитесь, что вы покинули каждое поле $ _POST.

Смежные вопросы