Отправка данных на email

243
03 июля 2017, 19:47

Здравствуйте, я пока что плохо разбираюсь в php. Кто может помогите пожалуйста с кодом для обработки. Есть такая вот форма на сайте:

Вот её код html:

<h3>Заполните форму, мы вам обязательно ответим:</h3>
<form action="post.php">
  <div class="form-group ">
    <label for="name" class="sr-only">Имя</label>
    <input id="name" class="form-control" placeholder="Имя" type="text">
  </div>
  <div class="form-group ">
    <label for="email" class="sr-only">Ваш контактный e-mail или телефон</label>
    <input id="email" class="form-control" placeholder="Ваш контактный e-mail или телефон" type="email">
  </div>    
  <div class="form-group ">
    <label for="message" class="sr-only">Ваше сообщение</label>
    <textarea name="" id="message" cols="30" rows="5" class="form-control" placeholder="Ваше сообщение"></textarea>
  </div>
  <div class="form-group ">
    <input class="btn btn-primary" value="Отправить" type="submit">
  </div>
</form>

Попытался сам написать код php, но он не работает, кто может напишите пожалуйста код, чтобы после заполнения формы и нажатия на "отправить", он отправлялся на нужный email.

Answer 1

Во-первых, добавьте атрибуты name к каждому из input и textarea, чтобы мы могли получить их через POST-запрос:

<form action="post.php" method="post">
  <div class="form-group">
    <label for="name" class="sr-only">Имя</label>
    <input name="name" id="name" class="form-control" placeholder="Имя" type="text">
  </div>
  <div class="form-group">
    <label for="email" class="sr-only">Ваш контактный e-mail или телефон</label>
    <input name="email" id="email" class="form-control" placeholder="Ваш контактный e-mail или телефон" type="email">
  </div>
  <div class="form-group">
    <label for="message" class="sr-only">Ваше сообщение</label>
    <textarea name="message" id="message" cols="30" rows="5" class="form-control" placeholder="Ваше сообщение"></textarea>
  </div>
  <div class="form-group">
    <input class="btn btn-primary" value="Отправить" type="submit" name="submit">
  </div>
</form>

Чтобы отправить сообщение на почту, воспользуйтесь функцией mail():

<?php
/**
 *
 * post.php file
 *
 */
if(isset($_POST['submit'])) 
{
    $email = 'email@email.com'; // адрес, куда будет отправляться письмо
    $from = "От: " . $_POST['name'] . ", " . $_POST['email'] . "<br>";
    $message = $from . "Сообщение: <br>" . $_POST['message'];
    if(mail($email, 'Заголовок', $message)) {
        echo 'Успешно отправлено';
    } else {
        echo 'Произошла ошибка при отправке сообщения';
    }
}
READ ALSO
Не видит переменную PHP

Не видит переменную PHP

Внизу например пишу

219
Не срабатывает метод if (isset($_POST

Не срабатывает метод if (isset($_POST

Добрый день, не могу разобратьсяПочему код не работает POST методом

191
Интервал проверки новых заказов в базе, WebSocket

Интервал проверки новых заказов в базе, WebSocket

Есть WS сервер, написан на Ratchet

180
Вывод информации из БД

Вывод информации из БД

Есть код который выводит значения из бд, надо в итоге получить 2 числа, каждое в своей переменнойСледующий код выводит в цикле 2 числа слитно

201