2013-09-21 4 views
-5

Я имею эту простую форму для пользователя, чтобы представить свой адрес электронной почты:PHP Отправить форму не захватывая значение входного

<form method="post" action="contact.php"> 
<input type="text" name="signup" placeholder="ENTER EMAIL"> 
<button id="nSign" type="submit" name="newsSubmit" class="btn-primary">Submit</button> 
</form> 

Теперь у меня есть этот код, чтобы захватить адрес электронной почты, а затем отправить этот адрес электронной почты на другой адрес электронной почты адрес:

$to = "[email protected]"; 
$subject = "Newsletter Signup"; 
$email = $_POST["signup"]; 
$message = "Newsletter request from".$email; 
$headers = "From: Contact Page Newsletter Signup";      
$sent = mail($to, $subject, $message, $headers); 

if($sent) { 
print "<p>Your mail was sent successfully.</p>"; 
} 
else { 
print "<p>We encountered an error sending your mail</p>"; 
}      

Теперь, после того как я ввожу мой адрес электронной почты и нажмите кнопку отправить, я получаю письмо с соответствующим заголовком, при условии, но сообщение не включает в себя переменный $ электронной почты. Это не похоже на то, что $ _POST ["signup"] захватывает ввод пользователя.

Я совершенно не знаком с PHP; этот сайт также находится в Wordpress, поэтому я не уверен, что в Wordpress есть что-то, что может вызвать эту проблему. Пожалуйста, помогите, почему это не работает, и спасибо за ваши отзывы!

+0

Адрес:Адрес: – Prix

+1

Где вы действительно включаете переменную '$ email 'в сообщение? – David

+1

Выполняется 'mail (..)' дважды. Вы должны сохранить его в переменной вместо: '$ mail_res = mail (..)', а затем проверить переменную, чтобы увидеть, была ли она успешной: 'if ($ mail_res) {..}' – Joren

ответ

3

Вам необходимо получить значение вашего ввода. Таким образом:

$email = $_POST["signup"]; 

Теперь переменная $ email имеет электронное письмо, введенное в форму.

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