2015-11-20 7 views
-3

не использовал PHP, что много, создал этот основной contact.php, работает отлично отправить на мою электронную почту и т.д., но мое сообщение или контактная информация не отображается в электронной почте я получаюPHP Связаться с

Вот мой PHP:

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$phone = $_POST['phone'] 
$message = $_POST['message']; 
$from = 'Site Contact Form'; 
$to = '[email protected]'; 
$subject = 'Message from Contact form on website '; 

mail($to, $subject, $message, $phone "From: " $name); 
echo "Your Message has been sent!"; 
?> 

Вот мой HTML (с использованием начальной загрузки базы)

<section id="contact" class="contact bg-gray"> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-lg-12 text-center"> 
       <h2 class="section-heading">Contact Us</h2> 
       <h3 class="section-subheading text-muted">Contact the team for expert advice</h3> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-lg-12"> 
       <form name="sentMessage" id="contactForm" action="contact.php" method="post"> 
        <div class="row"> 
         <div class="col-md-6"> 
          <div class="form-group"> 
           <input type="text" class="form-control" placeholder="Your Name *" id="name" required data-validation-required-message="Please enter your name."> 
           <p class="help-block text-danger"></p> 
          </div> 
          <div class="form-group"> 
           <input type="email" class="form-control" placeholder="Your Email *" id="email" required data-validation-required-message="Please enter your email address."> 
           <p class="help-block text-danger"></p> 
          </div> 
          <div class="form-group"> 
           <input type="tel" class="form-control" placeholder="Your Phone *" id="phone" required data-validation-required-message="Please enter your phone number."> 
           <p class="help-block text-danger"></p> 
          </div> 
         </div> 
         <div class="col-md-6"> 
          <div class="form-group"> 
           <textarea class="form-control" placeholder="Your Message *" id="message" required data-validation-required-message="Please enter a message."></textarea> 
           <p class="help-block text-danger"></p> 
          </div> 
         </div> 
         <div class="clearfix"></div> 
         <div class="col-lg-12 text-center"> 
          <div id="success"></div> 
          <button type="submit" class="btn btn-primary btn-lg">Send Message</button> 
         </div> 
         <br> 
         <br> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 
</section> 

Спасибо за любую помощь ценится

ответ

0

Вы должны иметь name атрибуты ваших полей формы, они будут совпадать с ключами массива в $_POST:

<div class="form-group"> 
    <input type="text" name="name" class="form-control" placeholder="Your Name *" id="name" name="name" required data-validation-required-message="Please enter your name."> 
    <p class="help-block text-danger"></p> 
</div> 
<div class="form-group"> 
    <input type="email" name="email" class="form-control" placeholder="Your Email *" id="email" required data-validation-required-message="Please enter your email address."> 
    <p class="help-block text-danger"></p> 
</div> 
... 

Вы должны также проверить поля были заполнены:

if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['message'])){ 
    die('All fields must be filled in'); 
} 
$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
... 
2

Вы «Не отправляйте никаких почтовых данных, потому что ни один из ваших входов не имеет атрибута name. Атрибут name должен относиться к переменной $_POST, которую вы ожидаете.

Это должно работать:

<section id="contact" class="contact bg-gray"> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-lg-12 text-center"> 
       <h2 class="section-heading">Contact Us</h2> 
       <h3 class="section-subheading text-muted">Contact the team for expert advice</h3> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-lg-12"> 
       <form name="sentMessage" id="contactForm" action="" method="post"> 
        <div class="row"> 
         <div class="col-md-6"> 
          <div class="form-group"> 
           <input type="text" class="form-control" placeholder="Your Name *" id="name" required data-validation-required-message="Please enter your name." name="name"> 
           <p class="help-block text-danger"></p> 
          </div> 
          <div class="form-group"> 
           <input type="email" class="form-control" placeholder="Your Email *" id="email" required data-validation-required-message="Please enter your email address." name="email"> 
           <p class="help-block text-danger"></p> 
          </div> 
          <div class="form-group"> 
           <input type="tel" class="form-control" placeholder="Your Phone *" id="phone" required data-validation-required-message="Please enter your phone number." name="phone"> 
           <p class="help-block text-danger"></p> 
          </div> 
         </div> 
         <div class="col-md-6"> 
          <div class="form-group"> 
           <textarea class="form-control" placeholder="Your Message *" id="message" required data-validation-required-message="Please enter a message." name="message"></textarea> 
           <p class="help-block text-danger"></p> 
          </div> 
         </div> 
         <div class="clearfix"></div> 
         <div class="col-lg-12 text-center"> 
          <div id="success"></div> 
          <button type="submit" class="btn btn-primary btn-lg">Send Message</button> 
         </div> 
         <br> 
         <br> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 
</section> 

РНР код должен выглядеть следующим образом:

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
$from = '[email protected]'; 
$to = '[email protected]'; 
$subject = 'Message from Contact form on website '; 

$headers = 'From: '.$from; 
$message = $_POST['message'] . "\r\n" 
    . "Name: " . $name ."\r\n" 
    . "Phone:" . $phone ."\r\n" 
    . "Email:" . $email . "\r\n"; 

mail($to, $subject, $message, $headers); 
echo "Your Message has been sent!"; 
?> 
+0

Это работает, но теперь только появляется мое сообщение, Его говоря неизвестный отправитель и мое имя и номер не отображается –

+0

Что ты имеешь ввиду. Вы даже не используете номер телефона в любом месте кода, который вы нам предоставили. – Andrius

+0

Я добавил в $ phone = $ _POST ['phone']; Когда я отправляю сообщение, появляется сообщение типа i, но мой адрес электронной почты или имя не отображается –

1

Вы пропустили name атрибуты в форме. Добавить name атрибут во всех входных/отборных полей, как показано ниже:

<div class="col-md-6"> 
    <div class="form-group"> 
    <textarea class="form-control" placeholder="Your Message *" id="message" name="message" required data-validation-required-message="Please enter a message."></textarea> 
    <p class="help-block text-danger"></p> 
    </div> 

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