Простейшая форма отправки данных на почту при помощи HTML и PHP

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

Язык разметки HTML сам по себе несложен, нужно всего лишь разобраться в том как и где ставить те или иные теги. С языком программирования PHP все немного сложнее.

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

Создаем форму отправки данных в html

Первая строка будет следующей

Это очень важный элемент формы. В нем мы указываем каким способом будут передаваться данные и какому файлу. В данном случае все передачется методом POST файлу send.php. Программа в этом файле соответственно должна принять данные, они будут содержаться в post массиве, и отправить их на указанный email адрес.

Вернемся к форме. Вторая строка будет содержать поле для ввода ФИО. Имеет следующий код:

Тип формы text, то есть пользователь сможет ввести или скопировать сюда текст с клавиатуры. Под параметром name содержится название формы. В данном случае это fio, именно под таким именем будет передаваться все, что пользователь введен в данноу поле. Параметр placeholder указывает на то, что будет записано в этом поле в виде пояснения.

Следующая строка:

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

Следующей строкой будет кнопка "отправить":

И последней строкой в форме будет тэг

Теперь соберем все вместе.





Теперь сделаем так, чтобы поля в форме стали обязательными для заполнения. Имеем следующий код:





Создаем файл, принимающий данные из HTML формы

Это будет файл с именем send.php

В файле на первом этапе нужно принять данные из пост массива. Для этого создаем две переменные:

$fio = $_POST["fio"];
$email = $_POST["email"];

Перед названиями переменных в php ставиться знак $, в конце каждой строки ставиться точка с запятой. $_POST это массив в который передаются данный из формы. В форме html при этом указан метод отправки method="post". Так, приняты две переменные из формы html. Для целей защиты своего сайта нужно провести эти переменные через несколько фильтров - функций php.

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

При этом новые переменные в php не создаются, а используются уже имеющиеся. Что сделает фильтр, он преобразует символ "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

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

$fio = urldecode($fio);
$email = urldecode($email);

Третей функцией мы удалим пробелы с начала и конца строки, если таковые имеются:

$fio = trim($fio);
$email = trim($email);

Существуют и другие функции, позволяющие отфильтровать переменные php. Их использование зависит от того, насколько вы опасаетесь того, что злоумышленник попытается добавить программный код в данную форму отправки данных на почту html.

Проверка данных, передаваемых от HTML формы в файл PHP

Для того, чотбы проверить, работает ли этот код, передаются ли данные можно просто их вывести на экран при помощи функции echo:

echo $fio;
echo "
";
echo $fio;

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

Отправляем полученные данные из формы HTML на почту при помощи PHP

Для отправки данных на почту нужно воспользоваться функцией mail в PHP.

mail("на какой адрес отправить", "тема письма", "Сообщение (тело письма)","From: с какого email отправляется письмо \r\n");

Например, нужно отправить данные на email владельца сайта или менеджера [email protected].

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

mail("[email protected]", "Заявка с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n");

Необходимо добавить условие, которе проверит отправилась ли форма при помощи PHP на указанные адрес электронной почты.

if (mail("[email protected]", "Заказ с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n"))
{
echo "сообщение успешно отправлено";
} else {
}

Таким образом программный код файла send.php, который отправит данные HTML формы на почту будет выглядеть следующим образом:

$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
//echo $fio;
//echo "
";
//echo $email;
if (mail("[email protected]", "Заявка с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n"))
{ echo "сообщение успешно отправлено";
} else {
echo "при отправке сообщения возникли ошибки";
}?>

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

Помещаем HTML и PHP код отправки формы в один файл

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

Для реализации такой работы нужно поместить HTML код формы в файл send.php и добавить условие, которое будет проверять наличие переменных в массиве POST (этот массив передается из формы). То есть, если переменные в массиве не существуют, то нужно показать пользователю форму. Иначе нужно принять данные из массива и отправить их адресату.

Давайте посмотрим как изменить PHP код в файле send.php:



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


//проверяем, существуют ли переменные в массиве POST
if(!isset($_POST["fio"]) and !isset($_POST["email"])){
?>





} else {
//показываем форму
$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
if (mail("[email protected]", "Заявка с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n")){
echo "Сообщение успешно отправлено";
} else {
echo "При отправке сообщения возникли ошибки";
}
}
?>

Существование переменной в POST массиве мы проверяем PHP функцией isset(). Восклицательный знак перед этой функцией в условии означает отрицание. То есть, если переменной не существует, то нужно показать нашу форму. Если бы я не поставил восклицательный знак, то условие дословно означало бы - "если существует, то показать форму". А это неправильно в нашем случае. Естественно, что вы можете переименовать его в index.php. Если будуту переименовывать файл, то не забудьте переименовать название файла и в строке

. Форма должна ссылаться на эту же страницу, например index.php. В код я добавил заголовок страницы.

Частые ошибки, возникающие при отправке PHP формы с сайта

Первая, наверное самая популярная ошибка, это когда вы видите пустую белую страницу без сообщений. Это означает, что вы допустили ошибку в коде страницы. Вам нужно включить отображение всех ошибок в PHP и тогда вы увидите, где допущена ошибка. Добавьте в код:

ini_set("display_errors","On");
error_reporting("E_ALL");

Файл send.php должен запускаться только на сервере, иначе код просто не будет работать. Желательно, чтобы это был не локальный сервер, так как он не всегда настроен на отправку данных на внешний почтовый сервер. Если вы запустите код не на сервере, то вам отобразиться код PHP прямо на странице.

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

Еще одна частая ошибка, когда появляется оповещение "Сообщение успешно отправлено", а письмо не приходит на почту. В этом случае нужно внимательно проверить строку:

if (mail("[email protected]", "Заказ с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n"))

Вместо [email protected] должен быть email адрес на который нужно отправить письмо, а вместо [email protected] должен быть существующий email данного сайта. Например для сайта сайт это будет . Только в этом случае письмо с данными из формы будет отправлено.


Письма-просьбы – это неотъемлемая, важная и необходимая часть деловой переписки. С одной стороны, это тактичные и дипломатичные запросы по текущим вопросам, с другой – инструмент для достижения определенных целей адресата. Цель любого письма-просьбы – побудить адресата к определенным действиям, необходимым автору письма. Как составить письмо-просьбу, чтобы максимально приблизиться к положительному ответу?


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

Шаг 1. К кому Вы обращаетесь с просьбой?

Обращайтесь к адресату персонально, лучше – по имени отчеству:

«Уважаемый Иван Иванович!», «Уважаемый господин Иванов!»

Во-первых, Вы выразите свое уважение адресату, во-вторых, просьба, обращенная к конкретному человеку, накладывает на него ответственность за ее выполнение. Бывают ситуации, когда просьба адресуется коллективу или группе лиц. В таком случае также желательно максимально персонализировать обращение:

«Уважаемые коллеги!», «Уважаемые менеджеры!», «Уважаемые младшие сотрудники!», «Уважаемые работники кадровой службы!»

Шаг 2. Почему Вы обращаетесь ко мне?

Сделайте комплимент адресату. Делая комплимент адресату, Вы отвечаете на его вопрос: «Почему Вы обращаетесь с этим вопросом ко мне?» Отметьте его прошлые заслуги или личные качества.

«Вы готовы всегда выслушать и найти оптимальный путь решения проблемы практически каждого, кто обратился к Вам. И, надо отдать Вам должное, Вы многим помогли».

«Вы являетесь ведущим экспертом в области …».

«Вы многим помогли разрешить сложнейшие вопросы в сфере …».

Этот прием позволит адресату взглянуть на просьбу пристальнее и постараться найти возможность удовлетворить ее.

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

Очень важно не переступить грань между комплиментом и грубой лестью. Будьте искренни.

Шаг 3. Обоснование просьбы

Любую просьбу нужно обосновать, почему Вы обращаетесь именно с этой просьбой. Введите адресата в контекст Вашей проблемы.

На этом этапе нужно подобрать три наиболее весомых для адресата аргумента. Лучше всего выстроить аргументы по схеме: сильный – средний – самый сильный.

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

Заинтересуйте адресата

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

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

« Успешная деятельность любого профессионального сообщества – это, прежде всего, понимание и поддержка со стороны дружественных Союзов, участие в совместных мероприятиях и проектах ».

« Конечно же, Ваша большая цель – это чистый и благоустроенный город для людей ».

Или же озвучьте проблему, которая очень актуальна именно для Вашего адресата:

«Вы, как мудрый хозяин города, наверняка обеспокоены беспорядочными прогулками детей разного возраста в непригодных для этого местах, что приводит к участившимся ДТП и росту детской преступности».

«В ваш отдел участились обращения по непрофильным вопросам, что отнимает массу бесценного рабочего времени».

Покажите, как Ваша просьба может помочь реализовать возможность:

« А сегодня, когда наша страна делает ставку на молодежь, трудно найти более нужное, святое дело, чем помощь юношам и девушкам из неблагополучных семей. В нашем городе есть те, кто уже оказывает такую помощь – под эгидой мэрии на пожертвования горожан действует наш благотворительный центр «Наследие», обучающий трудных подростков народным ремеслам».

Или решить проблему:

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

Опишите значимость просьбы

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

«С (дата), согласно договору об аренде № Х, арендная плата за 1 м 2 составляет 20 у.е. в день. В течение последних трех месяцев наблюдается спад торговой активности в связи с экономической нестабильностью и социальными беспорядками. Средняя прибыль от торговли составляет 10 у.е. в день, чего не хватает даже на оплату аренды. Если не принять меры, то частные предприниматели вынуждены будут закрыть свои торговые точки, что может негативно отразиться на Ваших доходах».

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

Шаг 4. Изложение просьбы

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

«Просим Вас снизить уровень арендной платы до стабилизации положения до 5 у.е. за м 2 в день».

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

«Для оборудования гончарной мастерской нужна печь для обжига керамики – мы просим Вас помочь нам в ее приобретении. Стоимость печи с установкой составляет 998 тыс. рублей ».

В данном примере не совсем понятно, какая помощь требуется от адресата. Лучше просьбу сформулировать более конкретно: «Просим Вас помочь в приобретении печи для обжига керамики, перечислив на расчетный счет компании по производству и установке печей 333 тыс. у.е.».

О чем бы Вы ни просили, адресат должен точно знать когда, чего, сколько и по какой цене Вы хотите получить. Обобщенная просьба более подвержена риску отказа, т.к. у адресата не всегда есть время и желание разбираться с подробностями. Кроме того, Вы рискуете получить не то, чего хотите, передавая инициативу адресату.

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

«Просим Вас снизить уровень арендной платы до стабилизации положения».

В результате они получили снижение арендной платы, но незначительное (на 1% от имеющейся). Таким образом, их просьба была удовлетворена, но мало что изменила в положении инициаторов письма.

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

Шаг 5. Резюмируйте свою просьбу.

Повторите свою просьбу и акцентируйте, какую выгоду получит адресат в случае выполнения просьбы. Просьбу следует несколько видоизменить. Лучше всего подходит построение предложения по схеме: «Если Вы выполните просьбу, то будет Вам счастье».

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

Но могут быть и другие варианты:

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

«Вы можете быть уверены, что каждая детская улыбка подарит Вам моральное удовлетворение от Вашей непростой работы, а Ваши старания и усилия – это инвестиция в достойных и счастливых граждан ближайшего будущего».

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

ПРИМЕР:

Было

Стало

«Любезно просим Вас, И.И. Иванов, организовать встречу абитуриентов с главным менеджером Вашей компании. Будем признательны за оказанное содействие.

С уважением и благодарностью,

Директор центра занятости

П.П. Петров»

-

«Уважаемый Иван Иванович!

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

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

В связи с этим просим Вас организовать встречу главного менеджера с абитуриентами 23 марта в 15.00 на базе Вашей компании.

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

С уважением и благодарностью,

Директор центра занятости

П.П. Петров»

И не забывайте об оформлении письма – это «лицо» организации. Если инициатором письма-просьбы является организация, то такое письмо оформляют на фирменном бланке с подписью руководителя либо уполномоченного лица. Если частное лицо – то достаточно соблюдения основных норм в расположении элементов письма. Эти детали юридически и психологически очень важны для адресата и формирования правильного имиджа отправителя.

-
- Отправляете сотни коммерческих предложений, просьб и других деловых писем каждый день, но не добиваетесь своим посланием нужного результата? Не знаете как ненавязчиво и вежливо напомнить адресату о его обязательствах? Тогда Вам непременно поможет онлайн-тренинг «Навыки делового письма» ! Вы можете пройти его в любое удобное время по . - -
-

ПИСЬМО-ПРОСЬБА

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

Композиция и структура письма-просьбы мало чем отличается от стандартных (см. Деловые письма. Правила оформления. Структура письма). Как правило, текст письма-просьбы состоит из двух частей:

1. Вводная часть , где в повествовательной форме излагается существо дела, объясняются побудительные мотивы, причины обращения с просьбой. Здесь часто используются следующие стандартные выражения:

  • причина обращения
    • В связи с неполучением...
    • Учитывая социальную значимость...
    • Принимая во внимание (наше многолетнее сотрудничество)...
    • Учитывая (долговременный и плодотворный характер наших деловых связей)...
    • Ввиду несоответствия Ваших действий ранее принятым договоренностям...
    • Ввиду задержки получения груза...
    • Исходя из результатов переговоров по вопросу о...
      и т. п.
  • цель обращения
    • В целях выполнения распоряжения...
    • В целях скорейшего решения вопроса...
    • Для согласования вопросов...
    • В целях обеспечения безопасности прохождения груза...
    • Во избежание конфликтных ситуаций...
      и т. п.
  • ссылки на основание для обращения
    • В соответствии с достигнутой ранее договоренностью…
    • В связи с обращением в наш адрес...
    • На основании устной договоренности...
    • На основании нашего телефонного разговора...
    • Согласно постановлению правительства...
    • Согласно протоколу о взаимных поставках...
      и т. п.

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

Почти все стандартные выражения начинаются с производного предлога или с предложного сочетания. Следует обратить внимание на правильность использования этих предлогов с именами существительными, cтоящими в основном в родительном и дательном падежах.

2. Собственно просьба . Здесь в ключевую фразу письма входят слова, образованные от глагола просить . Его использование объясняется этикетными требованиями к деловым текстам и психологическими законами делового общения - человек охотнее соглашается выполнить действие, выраженное в форме просьбы, нежели в форме требования.

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

Просьба может излагаться от первого лица единственного числа ("Прошу... "), от первого лица множественного числа ("Просим... "), от третьего лица единственного числа (в этом случае употребляются существительные с собирательным значением: "Дирекция просит... ", "Администрация просит... ", "Совет трудового коллектива просит... " и т. п.), от третьего лица множественного числа, если употребляется несколько существительных с собирательным значением (Администрация и Совет трудового коллектива просят... ).

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

Прошу... (Просим... )
...
Одновременно прошу... (Также просим... )
...
А также прошу... (А также просим... )
...
и т. д.

При составлении письма-просьбы следует учесть и такие рекомендации :

1. Излагая просьбу, подчеркните вашу заинтересованность или заинтересованность вашей организации в ее исполнении.
2. Ни при каких условиях не начинайте письмо со слова "Прошу... " - тактичнее сначала объяснить мотивы вашего обращения (даже в том случае, когда все детали уже согласованы с адресатом).
3. Не спешите благодарить адресата заранее . Этим вы ставите и себя, и адресата в неловкое положение. Старайтесь поблагодарить, когда узнаете, что ваша просьба удовлетворена.

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

  • Обращаемся (обращаюсь) к Вам (вам) с просьбой...
    ...об отправке в наш адрес...
    ...о направлении в мой адрес...
    ...о высылке в адрес нашей организации...
    ...о предоставлении мне...
  • Просим (прошу) Вас (вас)...
    ...сообщить (нам)...
    ...выслать (мне)...
    ...срочно представить...
    ...немедленно доложить...
    ...известить (руководство предприятия) о...
    ...проинформировать меня о...
  • Прошу Вашего (вашего) согласия на...
    ...отправку в адрес...
    ...предоставление нам...
    ...ознакомление... с...
    ...передачу... следующего оборудования...
  • Просим Вашего (вашего) содействия в...
    ...получении...
    ...скорейшей отправке...
    ...предоставлении дополнительной информации относительно...
    ...проведении...
  • Прошу Ваших (ваших) указаний...
    ...на заключение договора о...
    ...на выдачу со склада предприятия... представителю...
    ...на оформление документов о...
    ...на пересмотр...
  • Просим Вас не отказать в любезности и... .