2017-02-14 9 views
0

Я создаю форму с помощью Swiftmailer. Проблема в том, что ничего изнутри не существует, но тело PHP появляется в письме. Я также наблюдаю за некоторыми учебниками от Youtube и Google, пробовал их, но не работал, пока ничего не работало.Содержимое с формы, не отправленной на веб-почту

HTML

<form id="contactForm" method="POST" action="form-process.php"> 
      <div class="row"> 
       <div class="form-group col-md-6"> 
        <label class="h4">Your Name</label> 
        <input type="text" class="form-control" id="name" placeholder="Enter name" required data-error="NEW ERROR MESSAGE"> 
        <div class="help-block"></div> 
       </div> 
       <div class="form-group col-md-6"> 
        <label class="h4">Your Email</label> 
        <input type="text" class="form-control" id="email" placeholder="Enter name" required> 
        <div class="help-block"></div> 
       </div> 
      </div> 
      <div class="form-group"> 
        <label class="h4">Your Message</label> 
        <textarea id="message" class="form-control" rows="5" placeholder="Enter your message" required></textarea> 
        <div class="help-block"></div> 
       </div> 
       <button type="submit" id="form-submit" class="btn btn-success btn-lg pull-right ">Submit</button> 
     <div id="msgSubmit" class="h3 text-center hidden"></div> 
     <div class="clearfix"></div> 
     </form> 

захвата PHP

<?php 

require_once 'swiftmailer-5.x/lib/swift_required.php'; 

// Create the Transport 
$transport = Swift_SmtpTransport::newInstance('mail.mysite.com', 465, 'ssl') 
    ->setUsername('[email protected]') 
    ->setPassword('password') 
    ; 

// Get data 

$name=filter_var($_POST['name'], FILTER_SANITIZE_STRING); 
$email=filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); 
$message=filter_var($_POST['message'], FILTER_SANITIZE_STRING); 

$data = "Name: " . $name . "<br />" . 
     "Email: " . $email . "<br />" . 
     "Message: " . $message . "<br />"; 

// Create the Mailer using your created Transport 
$mailer = Swift_Mailer::newInstance($transport); 

// Create a message 
$message = Swift_Message::newInstance('Feedback Form') 
    ->setFrom(array('[email protected]' => 'Feedback Form')) 
    ->setTo(array('[email protected]' => 'Feedback Form')) 
    ->setBody($data, 'text/html') 
    ; 

// Send the message 
$result = $mailer->send($message); 

?> 
<p>Thank you for give us your feedback. We will respond to your feedback as soon as possible.</p> 
<p>Please click <button type="btn btn-success"><a href="contact.html">Here</a></button> to return to the site.</p> 

Вот экран

enter image description here

Что я сделал неправильно? Помоги мне. (Использование Bootstrap в качестве формы)

+0

Опубликовать весь ваш код, включая форму HTML. – JustBaron

+0

опубликуйте html –

+0

Извините, что не отправлял их раньше – ShafiqqAziz

ответ

3

ОК, похоже, что вам не хватает атрибута имени для ввода формы.

Добавьте атрибуты, и тогда ваша форма должна работать, например .:

<input type="text" class="form-control" id="name" name="name" placeholder="Enter name" required data-error="NEW ERROR MESSAGE"> 
<input type="text" class="form-control" id="email" name="email" placeholder="Enter name" required> 
<textarea id="message" class="form-control" name="message" rows="5" placeholder="Enter your message" required></textarea> 
1

Проблема заключается в том, вы должны добавить имя атрибута для ввода.
Итак, вместо этого
Вы должны использовать <input type="text" class="form-control" id="name" name="name" placeholder="Enter name" required data-error="NEW ERROR MESSAGE">, чтобы ваш PHP-скрипт мог получить это значение из массива, который поставляется с запросом POST.
Добавить атрибут имени для каждого ввода, и ваш скрипт получит его после отправки формы.