Создание формы обратной связи

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

На сегодняшний день, форма обратной связи, является обязательным элементом в структуре лендинг пейдж. Ведь это один из способов принять заказ или отправить каталог вашей продукции, предварительно получив e-mail посетителя.

Создание формы обратной связи – html разметка

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

<form id="application" action=" application.php" method="POST" name=" application ">
   <input name="name" id="zayavkaName" maxlength="20" placeholder="Введите ваше имя" required />
   <input name="email" type="email" id="applicationEmail" maxlength="20" placeholder="Введите ваш E-mail" required />
   <input name="telephone" type="Tel" id="applicationTelephone" maxlength="20" placeholder="Введите ваш телефон" required/>
   <button class="applicationButton" type="submit" form="application">Получить прайс </button>
</form>

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

форма обратной связи

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

Создание формы обратной связи - css разметка

Давайте зададим стили нашей форме и приведем ее к читабельному виду:

/* Стили формы */
#application {
    width: 475px;
    margin: 0 auto;
}

/*Стили полей для ввода*/
#applicationName, #applicationEmail, #applicationTelephone {
    width: 100%;
    height: 73px;
    background: none;
    margin-top: 25px;
    border: 1px solid #fff;
    border-radius: 40px;
    text-align: center;
    color: #fff;
    font-size: 24px;
}
/*Стили полей при клике по ним*/
#applicationName:focus, #applicationEmail:focus, #applicationTelephone:focus {
    border: 1px solid #30ad64;
}

/*Стили текста, выводящегося в placeholder*/
::-webkit-input-placeholder {
    color: #efefef;
    font-family: 'PT Sans', sans-serif;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}

::-moz-placeholder  {
    color: #fff;
    font-family: 'PT Sans', sans-serif;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}  /* Firefox 19+ */

:-moz-placeholder {
    color: #fff;
    font-family: 'PT Sans', sans-serif;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}  /* Firefox 18- */

:-ms-input-placeholder {
    color: #fff;
    font-family: 'PT Sans', sans-serif;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}

::placeholder {
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
/*Стили для кнопки*/
.applicationButton {
    margin-top: 25px;
    background: #30ad64;
    border: none;
    width: 100%;
    height: 73px;
    border-radius: 40px;
    color: #fff;
    font-size: 24px;
    text-transform: uppercase;
    font-family: 'PT Sans', sans-serif;
    cursor: pointer;
}
    .applicationButton:hover {
        background: #d68c18;
    }

Если хотите, чтобы цвет кнопки менялся плавно, добавьте в .applicationButton и .applicationButton:hover такую строку:

transition: .6s;

Где .6s - время анимации в миллисекундах.
Теперь наша форма приобрела красивый вид, сейчас она выглядит так:

форма обратной связи для сайта

Создание формы обратной связи - php разметка

Теперь нам необходимо создать файл application.php. Он будет получать введенные параметры из формы и отправлять их к нам на почту.

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

То есть, когда пользователь нажмет кнопку, его перекинет на страницу application.php. Это полноценная страница, и вы должны оформить ее соответствующим образом.

<?php 

$sendto   = "smart-landing@yandex.ru"; // почта, на которую будет приходить письмо
$username = $_POST['name'];   // сохраняем в переменную данные полученные из поля c именем
$usertel = $_POST['telephone']; // сохраняем в переменную данные полученные из поля c телефонным номером
$usermail = $_POST['email']; // сохраняем в переменную данные полученные из поля c адресом электронной почты

// Формирование заголовка письма
$subject  = "Новое сообщение";
$headers  = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";

// Формирование тела письма
$msg  = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Cообщение с сайта</h2>\r\n";
$msg .= "<p><strong>От кого:</strong> ".$username."</p>\r\n";
$msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n";
$msg .= "<p><strong>Сайт:</strong> ".$usertel."</p>\r\n";
$msg .= "</body></html>";

// отправка сообщения
if(@mail($sendto, $subject, $msg, $headers)) {
	echo "<center><img src='images/spasibo.png'></center>";
} else {
	echo "<center><img src='images/ne-tpravleno.png'></center>";
}

?>

Давайте немного поясню код:

$sendto   = "smart-landing@yandex.ru"; // почта, на которую будет приходить письмо
$username = $_POST['name'];   // сохраняем в переменную данные полученные из поля c именем
$usertel = $_POST['telephone']; // сохраняем в переменную данные полученные из поля c телефонным номером
$usermail = $_POST['email']; // сохраняем в переменную данные полученные из поля c адресом электронной почты

Тут, думаю, - понятно.

Теперь давайте сформируем заголовок письма.

$subject  = "Новое сообщение";
$headers  = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";

Строка $subject = "Новое сообщение"; - отвечает за тему письма, может написать там: "Заявка с сайта" или то, что вам больше подходит.

Предлагаю сделать так, чтобы письмо приходило, от адреса, указанного в поле input type="email". То есть с того, с которого пользователь ввел при заполнении формы. Для этого пропишем следующие строки:

$headers  = "From: " . strip_tags($usermail) . "\r\n";

То есть мы подставим данные из переменной $usermail, где и хранится информация из поля, отвечающего за ввод email адреса.

Теперь зададим внешний вид письма. Вы можете оформить его как угодно, а я предлагаю следующую структуру:

$msg  = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Cообщение с сайта</h2>\r\n";
$msg .= "<p><strong>От кого:</strong> ".$username."</p>\r\n";
$msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n";
$msg .= "<p><strong>Телефон:</strong> ".$usertel."</p>\r\n";
$msg .= "</body></html>";

Первой строкой задаем шрифт письма. Второй - выводим сообщение, например: "Заявка с формы обратной связи на первом экране". Третей, четвертой и пятой строкой передаем данные из формы. Каждая с новой строки.

Теперь нужно отправить письмо функцией mail и определить, что будет происходить при успешной и не успешной отправки письма:

if(@mail($sendto, $subject, $msg, $headers)) {
	echo "<center><img src='images/spasibo.png'></center>";
} else {
	echo "<center><img src='images/ne-tpravleno.png'></center>";
}

?>

Я сделал так, что в любом из случаев выведется картинка с соответствующим текстом. Вы можете вместо картинки вывести полноценную страницу. Просто пропишите код, вместо картинки.

Через несколько секунд, после вывода изображения, я делаю редирект ( автоматическое перенаправление) на главную страницу. Сделать это можно, вписав следующую строку между тегами <head></head>

<meta http-equiv="Refresh" content="4; url=http://Адрес сайта/">

То есть через 4 секунды пользователя автоматически вернет на главную страницу!

Я не эксперт в php - это back-end язык программирования, меня всю жизнь тянуло к изучению front-end. Поэтому не судите строго. Да, здесь можно сделать проверки на заполнение контактных форм и так далее, но мне всегда хватало и этого, так что, если у кого-то есть предложение как улучшить этот код, напишите пожалуйста в комментариях или на почту, поправлю урок , спасибо!

Кстати, если вам нужна форма обратной связи без перезагрузки страницы, то почитать о том как ее установить можно в этой статье.

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

Скачать исходник

P.s. Так как я стал очень часто получать вопросы о том, почему не работает форма и не приходят письма на почту, то решил описать несколько наиболее популярных причин, по которым это может происходить:

  • Тестируете форму не на сервере.
  • Тестируете форму на бесплатном хостинге.
  • Тестируете форму на платном хостинге, но в бесплатном тестовом периоде.

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

Если вам лень разбираться и самостоятельно делать форму, то рекомендую обратить внимание на конструктор форм обратной связи.

Понравилась статья? Не хотите пропустить следующие материалы о самостоятельном создании и раскрутке landing page?

Подпиcывайтесь на обновления!

Комментарии: 200

  1. Юлия

    Все решено. Терпение + внимательность + чистка кэша)) Спасибо еще раз за помощь!

  2. Валентин Левченко

    Очень классная форма — и все прекрасно работает. Только письма почему-то приходят с неправильной кодировкой…От кого: Валентин Левченко

    Как это можно исправить?

  3. dimadv7

    Скорее всего у вас не UTF-8 прописана. Нужно в явном виде указать на страницах,

    <meta charset="utf-8"/>

    . Кроме этого, нужно сохранять все файлы в utf-8 без бом. Если это не поможет, то нужно в файле htaccess прописать AddDefaultCharset UTF-8. Если и это не поможет , то, возможно, на сервере есть файл php.ini. В нем нужно внести правки и указать кодировку. Возможен вариант, что у вас сайт весь в windows-1251, тогда, просто поменяйте кодировку на странице обработчика формы, между тегами head, на свою и замените в строке

    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";

    c utf на свою.

  4. Алексей

    А вы не могли бы написать статью, как встроить подобную форму в плагин для wordpress, который называется optimizepress? Был бы очень признателен!

    • dimadv7

      Здравствуйте, я не занимаюсь написанием плагинов для wordpress

  5. Рома

    Не работает:(
    Попробывал другой какой-то буржуйский скрипт, он работает.
    Но хотелось установить ваш. Здесь проще…

    • Рома

      Конкретно не отсылает письма, хотя пишет, что успешно отправлено. Качал готовую версию вашего скрипта.

    • dimadv7

      С mail.ru не дружит скрипт, не нравиться ему, как составлен заголовок и тело скрипта. Но пользователи mail.ru, как и пользователи IE — должны страдать)) Попробуй просто почту от Яндекса, например, или gmail, но в gmail, первый раз, может в спам кинуть, нужно будет один раз указать, что это не спам и все будет прекрасно работать.

  6. Борис

    Добрый день! Поставил форму, данные отправляет, но на почту ничего не приходит. Я добавил дополнительное поле «Город». В чем может быть проблема?
    Вот php-код:

    <?php

    $sendto = "krooto@mail.ru"; // почта, на которую будет приходить письмо
    $username = $_POST['name']; // сохраняем в переменную данные полученные из поля c именем
    $usermail = $_POST['email']; // сохраняем в переменную данные полученные из поля c адресом электронной почты
    $usertel = $_POST['telephone']; // сохраняем в переменную данные полученные из поля c телефонным номером
    $usercity = $_POST['city']; // сохраняем в переменную данные полученные из поля c городом

    // Формирование заголовка письма
    $subject = "Новое сообщение";
    $headers = "From: " . strip_tags($usermail) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";

    // Формирование тела письма
    $msg = "»;
    $msg .= «Cообщение с сайта\r\n»;
    $msg .= «От кого: «.$username.»\r\n»;
    $msg .= «Почта: «.$usermail.»\r\n»;
    $msg .= «Телефон: «.$usertel.»\r\n»;
    $msg .= «Город: «.$usercity.»\r\n»;
    $msg .= «»;

    // отправка сообщения
    if(@mail($sendto, $subject, $msg, $headers)) {
    echo «»;
    } else {
    echo «»;
    }

    ?>

  7. Ян

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

    • dimadv7

      Да. Переверстать под себя форму и задать все не в пикселях, а в относительных единицах.

  8. Диана

    Доброго времени суток!
    Спасибо большое за статью, очень помогла!
    Но почему-то вместо слов от кого, телефон, почта стоят вот такие знаки ����� . Как можно это исправить?

    • dimadv7

      Нужно привести все файлы к одной кодировки. Например utf-8. То есть сохранить все файлы в utf-8 и явно указать ее в доктайпе. Кроме того, если есть файл .htaccess, то и там указать utf-8

  9. Михаил

    ПОМОГИТЕ!
    Подскажите где написать свои ЕМАИЛ чтобы писма приходили мне на почту?
    Вот форма html

    Жду звонка

  10. Илья

    Привет!
    Подскажите, как сделать так, чтобы тема письма совпадала с Titile страницы на которой была заполнена форма. Так как страницы разные, а форма типовая.

    Заранее спасибо за ответ, с ув. Илья

    • dimadv7

      Можно создать у формы скрытое текстовое поле с type=»hidden», и в значение в value вписать то, что находиться в title, а в обработчике ловить данные точно так же, как и данные из других полей. То есть в $subject вывести не текст а то, что вытащили из скрытого поля, то есть title

    • Илья

      Спасибо да я так, вчера и решил эту проблему. Спасибо за ответ

  11. Алексей

    Всё это хорошо. Но как быть с обработкой данных с апселла?
    Добрый вечер. Неделю уже карплю с товарным одностраничником.

    Подскажите пожалуйста, как мне получить данные с 2 кнопок и прибавить их к уже полученным данным на главной странице index.php, где находится форма всего с 2 полями? Скрипт лежит в файле send.php, обрабатывает и отправляет на мыло данные полей и в конце перебрасывает посетителя на upsell.php, где и находятся эти кнопки.

    А мне нужно, как-то собранные данные с полей формы не отправлять, а сначала получить данные с тех 2 кнопок, что в файле upsell.php (в зависимости какую кнопку нажмёт покупатель), а уже потом, прибавив одно из значений всё это отправить одним сообщением на мыло.

    Дошёл лишь до момента, когда собраны данные с полей формы, нажата кнопка «Заказать» и данные улетают на мыло , одновременно с переходом на страницу upsell.php

    • dimadv7

      Здравствуйте, посмотрите в сторону сессий и cookies.

  12. Алексей

    Здравствуйте. Где посмотреть: здесь на форуме или у себя в браузере?

    • dimadv7

      Нет, на блоге об этом ничего нет. В документации по php, например. Суть в том, что можно сохранить данные в сессии и использовать их на любой странице, пока она открыта.

  13. Сергей

    Спасибо за форму! У меня такой вопрос, вставил форму сделал тестовый заказ, но сообщение об успешной отправке заявки открывается не в новом окне а там же встроенным _http://leadoffer.ru/test1/order.htm

  14. Chupacabra

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

  15. Вика

    Большое спасибо за детальное описание формы! Правда поскольку впервые разбираюсь в этом моменте, естественно не все получилось((( Помоги, плиз, разобраться! При отправке формы выдает такой текст:
    Not Found

    The requested URL /application.php was not found on this server.

    Что это может значить?

    • dimadv7

      Что путь к обработчику формы неправильно прописан. В форме он указывается в атрибуте action. При попытке передать данные по заданному пути нет файла application.php. Это и есть обработчик

    • dimadv7

      Если все осталось как в исходнике, то файл application.php должен в корне сайта лежать

  16. Вика

    Сорри! Нашла ошибку)) Порядок теперь)) Все прекрасненько работает! =))) Еще раз спасибо тебе!

  17. Вика

    Приветик)) а как застайлить приходящие на почту данные? Чтоб они не просто строкой были, а допустим, каждое с новой строки, «имя» жирным шрифтом, в таком духе? А то пока так http://prntscr.com/auxpfm

  18. dimadv7

    В статье и так все с новой строки , и имя жирным… Там прописаны теги < p > и < strong >

    $msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Cообщение с сайта</h2>\r\n";
    $msg .= "<p><strong>От кого:</strong> ".$username."</p>\r\n";
    $msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n";
    $msg .= "<p><strong>Сайт:</strong> ".$usertel."</p>\r\n";
    
  19. Евгений

    Спасибо. Все доходчиво, просто и красиво.

  20. Артур

    Может кто сталкивался с такой проблемой. Перестали работать формы заявок на сайте. Выдает такую ошибку » Ошибка скрипта send.php» Хотя на другом хостинге копия этого сайта работает без проблем.

    • Евгения

      А версии php одинаковые? Может в этом проблема, хотя, должно работать и на более ранних. Вообще, не понятная ошибка, должно быть на английском написано.

  21. YG

    Напишите, пожалуйста, как сделать форму в модальном окне с автоматическим закрытием после отправки формы либо переброску на страницу благодарности. Если можно еще реализовать проверку формы на правильность заполнения (чтобы в поле ввода номера телефона нельзя было ввести буквы). Спасибо!

  22. Дима

    Здравствуйте!
    Подскажите пожалуйста как добавить две или три такие формы на один ленгдинг?
    Что нужно изменить в коде? Я новичек в том деле и не очень понимаю.

    • dimadv7

      Здравствуйте, нужно задать разный id у форм

  23. Катя

    Здравствуйте, Дима. Вы писали, что надо вставить между тегами head. Из ответов на комментарии тут, я поняла, что это надо вставить в application.php
    Я просто больше по фронт-енду работаю и совершенно не знаю как оформлять пхп-файлы. Подскажите, правильно ли я поняла, application.php оформлять надо так:

    php-код

  24. Катя

    Странно, почему-то теги не отобразились. Пойду другим путем. Вы говорили что между тегами head надо вставить тег мета с рефреш. Из ответов на комментарии тут, я поняла, что это надо вставить в application.php
    Я просто больше по фронт-енду работаю и совершенно не знаю как оформлять пхп-файлы. Подскажите, правильно ли я поняла, application.php оформлять надо так:
    хтмл
    хед
    метатеги
    линки
    хед закрывающий
    боди
    php-код
    боди закрывающий
    хтмл закрывающий

  25. Катя

    И еще хотела спросить. Если я в пхп-коде где формируется тело письма, задам классы в тегах для стилей, то стили в письме отработают? (стили буду прописывать в подключенном цсс файле)
    Заранее спасибо за ответ!

    • dimadv7

      Здравствуйте. Скачайте исходник, там же полная реализация рабочей формы, с классами, рефрешем и т.п.)) Да, можно оформлять произвольным образом, если убрать проверку на отправлено или нет письмо. Она не нужна, это больше для тестов.

      Вот тут проверка:

      if(@mail($sendto, $subject, $msg, $headers)) {
          echo "<center><img src='images/spasibo.png'></center>";
      } else {
          echo "<center><img src='images/ne-tpravleno.png'></center>";
      }
      

      Она, по сути, — не нужна. Лучше сделать проверку на заполнение полей, не пустые ли они и т.д. И дополнительную проверку, не прямой ли заход на страницу благодарности. Это же самый простой примерчик того, как заставить работать форму. А усложнять можно долго-долго. Посмотрите исходник, если что-то будет непонятно, напишите мне в социальные сети, там быстрее будет))

  26. Алексей

    Добрый день.
    При выборе поля для ввода, оно меняется кроме того как описано в CSS для активного поля. Появляется прямоугольная рамка голубого цвета. Может где-то пререкрытие стилей? Не подскажете где посмотреть?

    • dimadv7

      Стандартный стиль браузера. Спасает:

      outline:none;
  27. Алексей

    Спасибо огромное, помогло.

  28. Алексей

    Не приходят письма на gmail, хотя картинка об успешном отправлении открывается. Сначала отправка писем с сайта была заблокирована хостером (тогда и картинка не открывалась). После обращения в поддержку вроде заработало но письма на указанный адрес не доходят. Спам проверял, разные адреса пробовал. В чем еще может быть ошибка?

    • dimadv7

      А хостер позволяет отправлять сообщения на почту, созданную не у них, специально для сайта? Иногда это запрещено в целях борьбы со спамом.

    • Алексей

      У хостера в настройках php пришлось добавить e-mail получателя для функции mail. Сообщения стали доходить, но они приходят как сообщения пересылаемые Mail Delivery System от Mailer-Daemon

  29. Алексей

    Прошу прощения за повторения, сообщения не появлялись. Лишние можно удалить.

  30. Фарид

    не получилось у меня , ты выше писал поменять в трех местах свой маил я что то не вижу эти 3 места только один где это?

    • dimadv7

      Ткни пальцем, не помню где писал об этом. Какая ошибка? тестируешь на сервере? Не тестовый период? Не используешь mail.ru?

  31. Георгий

    Здравствуйте!Очень полезная статья,спасибо огромное)Но у меня возникла проблема.Указал в php свою эл.почту(Яндекс).Заполнил форму своими контактными данными.Опробовал.Мой же адрес эл.почты,имя и номер телефона пришли мне на почту,тут все работает отлично.Решил проверить с чужими данными(попросил у друга).Вот тут и возникла проблема.Его данные не приходят мне на почту.Он пользуется мэил.ру , может быть из-за этого?

    • dimadv7

      Нет, это просто текст. Если вы отправили тестовое письмо и оно дошло, значит все в порядке. Не имеет значения, что вы написали в полях и какой адрес электронной почты указали при заполнении формы. С другой стороны, если вы указали в скрипте получателя, с почтой mail.ru, то действительно на эту почту данные могут не приходить.

    • Георгий

      Хм.Письма приходят,но через раз.Иногда приходят,иногда нет.Это может быть связанно с хостингом?

    • Георгий

      Извините меня за мою глупость)Все эти письма автоматически отправлялись в спам,а я и не додумался их там посмотреть.

    • dimadv7

      Бывает. Нужно один раз указать, что не спам и все нормально будет. Не будут больше попадать) А вообще, от большого их количества могли попасть туда. Иногда то же, когда тестирую и шлю десятки писем, то автоматом туда попадают. Но указываешь, что не спам и нормально.

  32. Anton

    Дима, вот скачал WordPress, создал файл application.php, открывать его можно блокнотом? содержимое будет работать? И нужно ли перед созданием application.php редактировать wp-config.php? Уже раз пытался отправить данные на свою почту, но после нажатия кнопки «получить прайс» пишет: «страница не найдена».

    • dimadv7

      Открывать можно чем угодно. Wp-config трогать не нужно. Не найдена страница, видимо, из-за того, что путь к файлу application.php неправильно указан. 99%. А вообще, для wp есть же куча плагинов для контактных форм, например, contactform7, я именно им и пользуюсь.

  33. Александр

    Привет,помоги доработать форму ,мне нужно добавить в форму которую я здесь прикрепил, то есть когда приходит письмо на почту,то при нажатии на кнопку ответить,то емеел вписывался в стоку кому отправить,а то у меня пишется емеел хостинга откуда пришло письмо, и еще добавить в форму от кого чтобы можно было сменить емеел от кого сообщение приходит,по умолчанию имя хостинга стоит,а я хотел емеел почты хостинга,чтобы от него приходило письмо формы

    Форма обратной связи

    <?php
    extract($_POST);
    $to = "емеел куда присылать письмо";
    $subject = "[сайт] Письмо от посетителя сайта";
    $message = "

    Здравствуйте!

    Вам пришло новое письмо, отправленное через форму обратной связи на сайте сайт

    Ваше имя: $name

    Обратный е-маил: $email

    Текст сообщения: $comment

    С уважением,

    Служба обработки почтовых сообщений

    Сайт
    Группа вконтакте http://www.vk.com

    «;
    $headers = 'MIME-Version: 1.0' . «\r\n»;
    $headers = 'Content-type: text/html; charset=utf-8' . «\r\n»;
    mail($to, $subject, $message, $headers);
    ?>
    »

  34. Александр

    вот форма сама

    </center><!doctype html>
    <html>
        <head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
            
            <title> Форма обратной связи </title>
            <meta name="description" content=" "/>
            <meta name="Keywords" content="  "/>
            <link rel="stylesheet" type="text/css" href="/feedback/css/style.css" />
            <link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
            
    </head>
    <body>
    
    <form id="application" action="/feedback/application.php" method="POST" name=" application ">  
    <input name="name" id="applicationName" maxlength="20" placeholder="Введите ваше имя" required /> 
    <input name="email" type="email" id="applicationEmail" maxlength="35" placeholder="Введите ваш E-MAIL" required/> 
    <br><br>
    <textarea name="comment" class="form-control" rows="7" placeholder="Текст сообщения:" required></textarea>
    <button class="applicationButton" type="submit" form="application"> Отправить сообщение </button>  
    </form>
  35. Евгения

    В статье же написано, как сделать так, чтобы можно было указать от кого пришло письмо…

  36. Мирон

    Проще всего воспользоваться конструктором форм Тестограф. Там очень хороший функционал, который позволит создать форму любой сложности с уведомлением на имейл.
    Подробнее о том, как создать и настроить форму: __https://www.testograf.ru/ru/blog/forma-obratnoj-svyazi.html

  37. remontokna.com.ua

    Здравствуйте, радикально сейчас не смогу ответить, что у вас не работает. Как вариант, посмотрите в демке и сверить что у вас. Попробуйте простые стили css задать для кнопки, без картинки, например Подскажите как апселл прикрутить? Чтобы после заказа клиент видел форму в которой ему предлагнается еще что нибудь и если он купит и это нажав на кнопку щаказать его бросало на страничку подтверждения. И конечно чтобы оба заказа приходили на почту

  38. Masha

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

  39. Артур

    А как добавить в форму такой пункт » отправить фиал» через adobe muse
    Отпишитесь пожалуйста на почту a201048@bk.ru

  40. Genrytomenugh

    Спасибо!!!! Я столько чассов прорыскала в инете, перешерстила тонну инфы, и здесь наконец нашла что искала! Крепкого здоровья вам и всех благ!!! добрый день, а как на скопированном лейдинг пейдж,сделать так чтобы с формы обратной связи письма приходили на мою почту. спаибо

  41. Вадим

    при нажатии на кнопку отправить ничего не происходит. подскажите пожалуйста

    • dimadv7

      На сервере тестируете?

  42. Вадим

    да, правда пока на бесплатном

    • dimadv7

      Часто отключена функция отправки письма на бесплатном. Уточните у хостера.

  43. Вадим

    и если не сложно подскажите как добавить в форму текстовое поле так же что бы на него была проверка

  44. Вадим

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

  45. Ирина

    ПРОСТО КРУТАЯ ФОРМА! Спасибо!!!!

  46. Сергей

    Спасибо огромное. Много методов пробовал, но этот самый лучший

  47. Android108801

    Добрый день! Спасибо! Всё работает ,ПОЧТИ-но при нажатии «Получить Прайс»-происходит-ОШИБКА «Страница не найдена». Делаю вроде все правильно…
    application.php. создал в него вставил скрпит ваш.Может ярлык страницы и название страницы должно быть особым?)

    • dimadv7

      Да нет, просто путь неправильно указали к application.php

  48. Android108801

    Добрый день! 2 строка в коде id заяквканейм

     <input name="name" id="zayavkaName" maxlength="20" placeholder="Введите ваше имя" required />

    а в css

    #applicationName,

    то есть разные иди?

  49. Ник

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

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Создание формы обратной связи</title>
    <meta http-equiv="Refresh" content="4; URL=http://eurodez.uz/"> 
    </head>
    <body>
    
    <?php 
    
    $sendto   = "lokomativ64@mail.ru"; // почта, на которую будет приходить письмо
    $username = $_POST['name'];   // сохраняем в переменную данные полученные из поля c именем
    $usertel = $_POST['telephone']; // сохраняем в переменную данные полученные из поля c телефонным номером
    $usermail = $_POST['email']; // сохраняем в переменную данные полученные из поля c адресом электронной почты
    
    // Формирование заголовка письма
    $subject  = "Новое сообщение";
    $headers  = "From: " . strip_tags($usermail) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    
    // Формирование тела письма
    $msg  = "<html><body style='font-family:Arial,sans-serif;'>";
    $msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Cообщение с сайта</h2>\r\n";
    $msg .= "<p><strong>От кого:</strong> ".$username."</p>\r\n";
    $msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n";
    $msg .= "<p><strong>Телефон:</strong> ".$usertel."</p>\r\n";
    $msg .= "</body></html>";
    
    // отправка сообщения
    if(@mail($sendto, $subject, $msg, $headers)) {
    	echo "<center><img src='images/spasibo.png'></center>";
    } else {
    	echo "<center><img src='images/ne-otpravleno.png'></center>";
    }
    
    ?>
    
    </body>
    </html>
    • dimadv7

      На mail .ru и не будет приходить, пользователи mail.ru — должны страдать) А если серьезно, то не нравятся заголовки им, которые передаются. Нужно поискать информацию, как именно должны формироваться заголовки для этого почтового сервсиса.

  50. Airat

    Добрый день,на почту вместо значений полей приходит Array , прошу помочь

Добавить комментарий