2016-04-25 2 views
1

Я пытаюсь использовать PHPMailer, чтобы отправить ввод пользователя из формы HTMLPHPMailer не посылая переменные

форма, как это

<form action="senditpm.php" role="form"> 
<input type="text" class="form-control" id="name" name="name"><br> 
<input type="email" class="form-control" id="email" name="email">>br> 
<input type="text" class="form-control" id="phone" name="phone">>br> 
<input type="submit" value="Submit" class="submit-button btn btn-default"> 
</form> 

senditpm.php, как это

<?php 

$name = $_POST['name']; 
$phone = $_POST['phone']; 
$email= $_POST['email'] ; 

require 'phpmailer/PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

$mail->isSMTP();    
$mail->Host = 'xxxxxxxxx'; 
$mail->SMTPAuth = false;        
$mail->Username = 'xxxxxxxx';     
$mail->Password = 'xxxxxxxx';       
$mail->Port = 25; 

$mail->setFrom('[email protected]', 'xxxxx'); 
$mail->addAddress('[email protected]', 'xxx xxxx'); 
$mail->isHTML(true); 
$mail->Subject = 'Here is the subject'; 


$mail->Body=" 
Name: $name <br> 
Email: $email <br> 
Phone: $phone <br>"; 

; 

$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->send()) { 
echo 'Message could not be sent.'; 
echo 'Mailer Error: ' . $mail->ErrorInfo; 
    } else { 
echo 'Message has been sent'; 
    } 
?> 

Когда я заполню форму и нажмите «Отправить», я получаю электронное письмо, подобное этому

Имя:

Email:

Телефон:

Как вы можете видеть, PHP не посылает переменные Пожалуйста, может кто-то дайте мне знать, где я неправильно. Заранее спасибо

ответ

6

<form> по умолчанию метод GET, если метод POST не подразумевается, и вы используете массивы POST.

Меняем

<form action="senditpm.php" role="form"> 

в

<form action="senditpm.php" role="form" method="post"> 
+0

Это подействовало. Спасибо за вашу помощь – Joel

+0

@Joel Приветствую вас, Джоэл, * cheers * –

+0

@Joel Рассмотрите возможность принятия ответа. Вот как http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work, затем вернитесь сюда и сделайте то же самое с отметкой галочки/галочки, пока он не станет зеленым. Это сообщает сообществу, что решение найдено. В противном случае другие могут подумать, что вопрос все еще открыт и может захотеть опубликовать (более) ответы. Это беспроигрышная вещь ;-) –

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