2013-05-30 3 views
0

Надеюсь, просто быстрый вопрос, у меня есть форма, настроенная так - электронная почта, имя & сообщение. Как сделать так, чтобы при отправке он проверял, имеет ли он эти 3 вещи, и если да, то он отправляет на нужную электронную почту?Отправка сообщения электронной почты с помощью php confusion

Я пробовал посмотреть документацию по php, но я не очень понимаю. Сегодня я немного толстый. благодарственные :)

<form action="" method="post"> 
     <!--[if IE]> <br> <label for="email">Email</label> <br> <end if --> 
     <input type="email" name="email" id="email" placeholder="Email*" required> 
      <br> 
     <!--[if IE]> <br> <label for="name">Name</label> <br> <end if --> 
     <input type="text" name="name" id="name" placeholder="Name*" required> 
      <br> 
     <!--[if IE]> <br> <label for="message">Message</label> <br> <end if --> 
     <textarea name="message" id="message" placeholder="Description*" required></textarea> 

     <input type="submit" value="Send"> 
    </form> 

Я получил код PHP электронной почты здесь - то, что происходит здесь не так? (Может быть, я мог бы изменить, что работать?) Жалуется около 2 параметров, а не 3.

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if (mail('[email protected]', 
     "Name: " . $_POST['name'] . PHP_EOL . 
     "Email: " . $_POST['email'] . PHP_EOL . 
     "Message: " . $_POST['message'])) { 
     $status = "Sent"; } } 
?> 
+1

вам нужно сначала захватить действие отправки, затем проверить значения полей, а затем отправить сообщение – Dave

+1

'bool mail (string $ to, string $ subject, string $ message [, string $ дополнительные_headers [, string $ дополнительные_параметры]]) 'вам не хватает предмета –

ответ

1

Я полностью забыл добавить строку темы (спасибо за это @Dagon) - вот правильно ли работает код

PHP

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if (mail('[email protected]', 
     'Enquiries', 
     "Name: " . $_POST['name'] . PHP_EOL . 
     "Email: " . $_POST['email'] . PHP_EOL . 
     "Message: " . $_POST['message'])) { 
     $status = "Sent"; } } 
?> 

HTML

<form action="" method="post"> 
     <!--[if IE]> <br> <label for="email">Email</label> <br> <end if --> 
     <input type="email" name="email" id="email" placeholder="Email*" required> 
      <br /> 
     <!--[if IE]> <br> <label for="name">Name</label> <br> <end if --> 
     <input type="text" name="name" id="name" placeholder="Name*" required> 
      <br /> 
     <!--[if IE]> <br> <label for="message">Message</label> <br> <end if --> 
     <textarea name="message" id="message" placeholder="Description*" required></textarea> 

     <input type="submit" value="Send"> 
    </form> 
+0

, кажется, отсутствует код, чтобы проверить, что варны заполнены, вот что я ответил. –

1
if(!empty($_POST['email']) && !empty($_POST['name']) && !empty($_POST['message'])){ 
//send email code 
}else{ 
//dont 
} 
Смежные вопросы