Среда, 06 Сентябрь 2017 17:12

Форма отправки данных на почту с сайта html и php

Автор

Оцените материал
(31 голосов)
Форма отправки данных на почту с сайта html и php Форма отправки данных на почту с сайта html и php

Форма обратной связи или форма отправки заявки очень важна для сайта. Полностью рабочий код отправки данных на почту с сайта

В Интернете очень много подобных форм, но, мягко говоря, не все они рабочие. Трудно найти рабочий код отправки данных с сайта. Я нашел и немного его улучшил. Это только код! Стили Вам нужно будет подключить свои - это очень просто!

Первым делом Вам нужно создать пустой файл с именем send.php и не забывайте о кодировке, которую Вы используете. Удобнее всего использовать Notepad++ для работы с кодом.

В пустой файл send.php вставляете следующий код:

<?php

if(isset($_POST['submit'])){
$to = "Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.;; // Здесь нужно написать e-mail, куда будут приходить письма
$from = $_POST['email']; // this is the sender's Email address
$first_name = $_POST['first_name'];
$subject = "Форма отправки сообщений с сайта";
$subject2 = "Copy of your form submission";
$message = $first_name . " оставил сообщение:" . "\n\n" . $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];

$headers = "From:" . $from;
$headers2 = "From:" . $to;

mail($to,$subject,$message,$headers);
// mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender - Отключено!
echo "Сообщение отправлено. Спасибо Вам " . $first_name . ", мы скоро свяжемся с Вами.";
echo "<br /><br /><a href='https://epicblog.net'>Вернуться на сайт.</a>";

}

?>

<!--Переадресация на главную страницу сайта, через 3 секунды-->
<script language="JavaScript" type="text/javascript">
function changeurl(){eval(self.location="https://epicblog.net/index.php");}
window.setTimeout("changeurl();",3000);
</script>

Отлично! Пол дела сделано!

Теперь Вам нужно ставить html код на свой сайт, чтобы форма обратной связи появилась. Вот этот код:

<form action="send.php" method="post">

Ваше имя <input type="text" name="first_name"><br>
Email: <input type="text" name="email" required placeholder="Обязательное поле"><br>
Сообщение:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>

Как видите, форма подключается к файлу send.php. По умолчанию файл send.php нужно поместить в корень Вашего сайта или прописать к нему другой путь.

Эта форма отправки данных полностью рабочая и проверена. В противном случае, нужно смотреть настройки хостинга.

Исходники формы отправки данных на почту с сайта html и php по этой прямой ссылке. Скачивайте и пользуйтесь на здоровье. Не забудьте изменить данные на свои!

Всем удачи и добра!

Прочитано 17414 раз
Рекомендуемое:

Поделитесь с друзьями этой статьей!

Макс Пуля

Приветствую! Присоединяйтесь к сообществу Epic Blog и выражайте свои мысли.

epicblog.net

17 комментарии

  • Комментировать Сергей Среда, 11 Июль 2018 15:13 написал Сергей

    Как сделать так, чтобы после отправки формы остаться на той же странице ?

    Пожаловаться
  • Комментировать Рома Понедельник, 02 Июль 2018 21:26 написал Рома

    Отлично работает!

    Пожаловаться
  • Комментировать Serg68 Суббота, 23 Июнь 2018 23:36 написал Serg68

    Не отправляет! какой адрес указывать в $from = ? И шрифт неправильный в сообщении отправлено.

    Пожаловаться
  • Комментировать Макс Пуля Пятница, 22 Июнь 2018 17:10 написал Макс Пуля

    Дорогие читатели! Специально для тех, у кого не приходят письма на почту - свежий архив с изменениями в строке $from - можно скачать по ссылке https://epicblog.net/download/form_new.zip
    Только что проверил, письма приходят! Пробуйте! Если нет - обращайтесь к своему хостеру с претензией =)

    Пожаловаться
  • Комментировать Ислам Четверг, 21 Июнь 2018 14:42 написал Ислам

    Не идут сообщения, уважаемый автор. Пробовал почты и яндекс и gmail... Пишет, что сообщение отправлено, что всем спасибо, однако, сообщения не идут

    Пожаловаться
  • Комментировать Макс Пуля Четверг, 21 Июнь 2018 13:57 написал Макс Пуля

    В панели управления хостингом Plesk письма приходят на почту не со всех ящиков. В файле send.php на 13 строке измените код $from = $_POST['email']; на $from = "ваш@мэйл.net";
    То есть, в этой панеле, в поле "От кого" подставляются не все электронный адреса. Хостеры не дали внятный ответ почему так происходит. И чтобы с письмом приходил адрес отправителя, нужно обновить код:
    $message = "ФИО посетителя: ". $first_name . " | Адрес электронной почты: " . $_POST['email'] . " | Комментарий: " . $_POST['message'];

    Пожаловаться
  • Комментировать андрей Вторник, 19 Июнь 2018 16:42 написал андрей

    Не приходят письма на почту

    Пожаловаться
  • Комментировать Макс Пуля Вторник, 29 Май 2018 16:55 написал Макс Пуля

    Если каракули во входящем письме, посмотрите настройки почтового клиента (программы), попробуйте другую программу.
    Каракуль на странице "Сообщение отправлено. Спасибо...." быть не должно. Но на всякий случай, проверьте кодировку файла send.php, она должна быть в utf-8

    Пожаловаться
  • Комментировать Юрий Вторник, 29 Май 2018 15:55 написал Юрий

    Почему после отправки когда высвечивается текст перекидывания обратно на страницу.. там каракули вместо текста?

    Пожаловаться
  • Комментировать Алах Понедельник, 28 Май 2018 16:47 написал Алах

    как поменять кодировку? Вместо букв каракули в письме.

    Пожаловаться

Оставить комментарий