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

Хитрость вторая: порядок вопросов

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

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

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

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

Чтобы посмотреть ответы, надо перейти на вкладку «Ответы» в самом начале формы:

Когда ваши участники заполнят несколько форм, то в этом экране появятся две опции: «Сводка» и «Отдельный пользователь». Там можно будет быстро пробежать глазами по всем ответам.

Я редко пользуюсь этим экраном, мне удобнее сразу перейти в таблицу, которая организована на манер MS Excel-файла. Для того, чтоб отобразить заполненные анкеты в виде сводной таблицы, нужно нажать на зеленую иконку и выбрать Создать таблицу >> Новая таблица >> Создать. В новой вкладке браузера откроется Google Таблица, названная так же, как и ваша форма, но с припиской в конце: (Ответы).

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

Шаг 4. Наводим красоту: выбираем шаблон внешнего вида

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

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

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

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

Шаг 5. Публикуем анкету для участников

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

Чтобы встроить форму в страницу вашего сайта или блога, нужно пойти в верхний правый угол и нажать на иконку бумажного самолетика. В открывшемся окошке есть три варианта, как отправить: письмо, ссылка и встроить в веб-страницу. Выбираем третью иконку:

Скопируйте HTML-код, вставьте его в исходный код страницы сайта, и вуаля - .

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

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

Пара слов о разных настройках в Google Формах

Я верю в метод познания интерфейсов «тыкнул - попробовал - понял». Поэтому считаю, что даже если бы мне объяснили, что делает каждая кнопка на панели инструментов, я бы все равно не запомнила.

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

Важная настройка формы: сообщение о заполненной анкете для участника

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

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

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

Важная настройка таблицы: отслеживание ответов

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

Я вот, например, всегда в обязательном порядке эти уведомлялки для себя настраиваю, этот пунктик даже есть в моем .

Настроить такие уведомления можно в интерфейсе таблицы ответов на форму: Инструменты >> Уведомления >> выбираем «Отправка формы» и способ уведомления - раз в день или мгновенно, сразу после того как участник заполнил. Не забываем нажать «Сохранить».

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

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

(Visited 4 192 times, 1 visits today)

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

Конечно здорово будет, если вы хоть немного разбираетесь в HTML / CSS т.к. Вам придется уже по аналогии перетягивать код на свою страницу. PHP язык затрагивать не будем, все необходимые правки, которые нужно будет сделать под себя я покажу.

UPDATE :По откликам читателей, я понял, что нужно что-то более красивое и функциональное, встречайте , ознакомьтесь и посмотрите. Сами выбирайте какая больше понравится)

UPDATE2 : Version 3.0 Адаптивный Лендинг + форма ajax с передачей UTM-меток , ознакомьтесь и посмотрите. Вам понравится

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

Форма обратной связи php — структура

Разбор самой формы обратной связи будем изучать на примере посадочной страницы (Landing Page), кстати есть отдельная статья по . Посмотреть как это работает в действии можете по кнопкам расположенным ниже, прикладываю исходники этого одностраничника и главного файла обработчика-php (этот файл и будет обрабатывать и отправлять письмо на email)

После того как скачаете исходники и распакуете архив, вы увидите следующую структуру по файлам:

  • image — все изображения, которые используются для самого Landing Page, кнопки и т.д.
  • js — javascript скрипты, которые обеспечивают например всплывающее модальное окно на странице и другие визуальные эффекты
  • index.html — индексный файл нашего одностраничника
  • index1.php — файл обработчик, в который передаются значения из формы, далее формируется письмо из полученных переменных и отправляется на указанный email адрес. Так же index1.php случит в роли промежуточной страницы уведомления об успешной отправке данных с автоматическим перенаправлением обратно на index.html (т.е. наш одностраничник)

Важно, чтобы ваш хостинг, на котором располагаются файлы сайта, поддерживал php обработку, иначе файл index1.php не выполнится и работать не будет. Чтобы уточнить этот нюанс обратитесь в кампанию, где зарегистрирован ваш хостинг или просто протестируйте — работает, значит есть поддержка. Если нет, то включите опцию поддержки языка php

Взгляните на схему работы взаимодействия всех элементов (страница, форма, обработчик)

Исходный код вызова формы и обработчика

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Заказать обратный звонок Заказажите обратный звонок

Заказать обратный звонок Заказажите обратный звонок

Ниже полный исходный код обработчика index1.php, для того чтобы настроить отправку на свой почтовый ящик, поменяйте «[email protected]» на свой, остальное в принципе можно оставить без изменений

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 С вами свяжутся

С вами свяжутся body { background: #22BFF7 url(img/zakaz.jpg) top -70% center no-repeat; } setTimeout("location.replace("/index.html")", 3000); /*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/

Проверка работоспособности формы

Вызываем окно и вводим данные для тестовой проверки нашей формы

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


У меня на этом все, старался донести смысл и работу скрипта наилучшим образом. Возникнут вопросы, можете смело обращаться в комментарии или ко мне в VK (смотрите контактные данные). Желаю легкой и продуктивной работы Вам.

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

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

Обращаю внимание, что статья написана исключительно в ознакомительных целях. Прочитавшие мою работу, надеюсь, не попадутся в будущем на удочку мошенникам. Использование статьи в личных (злых, корыстных, мошеннических) целях - на ваш страх и риск.

Опишу всё от лиц мошенников, чтобы вы на себе ощутили, что это всё значит. И, как я уже сказал, чтобы не попадались на уловки!

1. RF SCreater - мал, да удал
Особенности:
- копии паспортов на абсолютно любые данные
- неограниченное количество сканов
- хорошее качество (1625х2340)
- отсутствие введённых данных в реальности

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

2. Дам взаймы
Особенности:
- копии реальных паспортов
- копии преимущественно молодых людей
- простота добычи
- несложно получать до 20 сканов в день

ВКонтакте есть группа, которая называется "Нужны деньги? Займи здесь!". Посмотреть группу можно перейдя .
Заходим в раздел "Дам взаймы" и пишем, что можем дать в долг. Сколько и какие условия - зависит от вашей фантазии (но чем всё проще, тем лучше). В скором времени получаем сообщения от тех, кому нужны деньги. Под предлогом удостоверения личности, кому перечисляются средства, просим скан на почту. Скан получаем, в долг не даём.

3. Есть вакансия
Особенности:
- получение РЕАЛЬНЫХ сканов на ВАШИ данные (регион, возраст, пол и др.)
- в основном, копии людей средних лет
- повышенная сложность добычи
- большое "не паханное поле" для работы

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

4. Ищу работу
Особенности:
- те же, что и в предыдущем варианте

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

5. Куплю навигатор
Особенности:
- реальные копии
- возможность выбора региона
- средняя сложность получения

Заходим на любую популярную доску объявлений (Авито, Сландо и т.п.).
По интересующему вас региону ищем на продаже любой небольшой товар. Предпочтительно - электронику. Пишем продавцу: "Не могли бы вы, уважаемый, отправить товар в город N ?"
Если человек соглашается, то он, скорее всего, попросит предоплату (если что - можно самому предложить). Мы, в свою очередь, соглашаемся на его условие, но просим выслать скан, чтобы "убедиться, что вы - реальный продавец".
Получаем скан, забываем про товар.

6. Письма счастья
Особенности:
- малоэффективный способ
- простота выполнения

Пишем небольшое красочное письмо от имени какого-нибудь развлекательного портала, на котором можно выиграть деньги или приз. Содержание письма: "Поздравляю, вы случайный ежегодный победитель!" (снова напоминаю о фантазии).
"Просим вас выслать на e-mail [такой-то] копию вашего паспорта, чтобы удостовериться, что вы - это вы".
К слову, в инете есть бесплатные сервисы, позволяющие отправить письмо практически от любого домена. Даже от [email protected]

7. Познакомлюсь с мужчиной
Особенности:
- реальные копии
- в большинстве мужской пол
- средняя сложность добычи

Думаю, этот способ, один из самых популярных. Регистрируем на сайте знакомств девушку, фото можно взять в интернете (вконтакте, сайты проституток, но не очень откровенные). Когда мужик клюнет - переписываемся, ведём дело к встрече. Как дело дошло до свидания - просим скан под предлогом того, что "я молодая девушка, не доверяю фото в интернете" и получаем (если всё грамотно получится) копию паспорта.

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

Помните! Лохи есть всегда! Будет хорошо, если мы с вами не окажемся на их месте!

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

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

клиентские правила

Создание правила

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

Отключение правила

В представлении почта на вкладке Главная нажмите кнопку правила > Управление правилами и оповещениями .

На вкладке в разделе Правило

Нажмите кнопку ОК .

Правила и оповещения .

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

Использование категории для отключения автоматической отправки копии для отдельных сообщений

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


Совет:

Сначала необходимо создать правило автоматически отправить скрытую копию (Cc) для всех отправляемых сообщений электронной почты.

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

Создание правила

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

Отключение правила

Чтобы предотвратить автоматическую отправку копии, необходимо сначала отключить правило.

В Почте в меню Сервис нажмите кнопку Правила и оповещения .

На вкладке Правила для электронной почты в разделе Правило снимите флажок, соответствующий правилу, которое вы создали.

Нажмите кнопку ОК .

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

Совет:

Использование категории для отключения автоматической отправки копии для отдельных сообщений

Если вы хотите отключать новое правило автоматической отправки копии для отдельных сообщений без вызова диалогового окна Правила и оповещения , вы можете задать для правила категорию, доступную в Office Outlook 2007.

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

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

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

При отправке сообщения правило автоматической отправки копии не будет применяться.

Одной из наиболее часто встречающихся на практике задач является реализация формы обратной связи. Тобишь написание ее HTML кода, оформление ее на CSS, создание PHP скрипта, который бы обрабатывал полученные от пользователя данные и отправлял их на нашу почту, написание JS скрипта, который бы проверял форму на адекватность вводимых данных, защита нашего детища от спама, чтобы наш почтовый ящик не обвалился от атак ботов.

Все вышеперечисленные моменты будут рассмотрены в нашем обзоре и подробно прокомментированы.

Итак, начинаем создание формы обратной связи:

HTML

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

< form method= "post" action= "mail.php" > < div class = "left" > < label for = "name" > Имя: < input maxlength= "30" type= "text" name= "name" /> < label for = "phone" > Телефон: < input maxlength= "30" type= "text" name= "phone" /> < label for = "mail" > E- mail : < input maxlength= "30" type= "text" name= "mail" /> < div class = "right" > < label for = "message" > Сообщение: < textarea rows= "7" cols= "50" name= "message" > < input type= "submit" value= "Отправить" />

И визуально она выглядит сейчас следующим образом:

Согласен, пока все некрасиво и ничего не понятно, но мы только начали.

Рассмотрим приведенный выше код подробно:

  • < form method= "post" action= "mail.php" > …


    для того, чтобы создать форму необходимо использовать тег form. Именно он определяет начало и конец формы для интерпретатора кода. У него, как и у любого тега, есть целый набор атрибутов, но обязательных для работы формы всего два, это method (метод отправки запроса на сервер, для форм стандартно используют post) и action (указывает путь к файлу-обработчику формы, именно в этом файле будет содержаться скрипт на PHP, который после будет отправлять введенные пользователем значения нам на почту, в нашем случае мы видим, что это файл называется mail.php и лежит он в том же директории сайта, что и рассматриваемая нами страница).
  • < input maxlength= "30" type= "text" name= "name" />


    Далее у нас следуют инпуты. Это собственно сами поля формы в которые пользователи будут вводить необходимую нам информацию (type="text" говорит о том, что это будет текст). Атрибут maxlength указывает сколько символов может ввести пользователь в данное поле формы. Самый важный атрибут это name – он задает имя конкретного поля. Именно по этим именам в дальнейшем PHP скрипт будет обрабатывать поступающую в него информацию. При желании можно еще задать атрибут placeholder, который выводит внутри поля текст исчезающий при установке курсора внутри нее. Одной из проблем плейсхолдера является то, что он не поддерживается некоторыми старыми браузерами.
  • < label for = "name" > Имя:


    Используется в случае если мы отказались от плейсхолдеров. Обычная подпись поля, атрибут for сообщает к какому конкретно полю относится данная подпись. Значением указывается name интересующего нас поля.
  • < textarea rows= "7" cols= "50" name= "message" >


    Также как и инпут предназначен для введения пользователем информации, только на этот раз поле заточено для длинных сообщений. Rows указывает размер поля в строках, cols в символах. В целом они задают высоту и ширину нашего поля.
  • < input type= "submit" value= "Отправить" />


    О том, что это кнопка для отправки формы нам сообщает type="submit", а value задает текст, который будет внутри этой кнопки.
  • < div class = "right" >


    использованы только для дальнейшего визуального оформления формы.
CSS

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

Мы использовали данный код:

form { background: #f4f5f7; padding: 20px; } form . left, form . right { display: inline- block; vertical- align: top; width: 458px; } form . right { padding- left: 20px; } label { display: block; font- size: 18px; text- align: center; margin: 10px 0px 0px 0px; } input, textarea { border: 1px solid #82858D; padding: 10px; font- size: 16px; width: 436px; } textarea { height: 98px; margin- bottom: 32px; } input[ type= "submit" ] { width: 200px; float: right; border: none; background: #595B5F; color: #fff; text- transform: uppercase; }

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

  • Не стоит писать оформление под каждый тег в форме. Старайтесь строить свои селекторы так, чтобы парой строк кода оформлять все необходимые Вам элементы.
  • Не используйте для переноса строк и создания отступов лишние теги по типу < br>, < p> и тд, с этими задачами прекрасно справляется CSS со свойством display: block и margin с padding. Больше о том, почему не стоит пользоваться < br> в верстке вообще можете почитать в статье Тэг br, а так ли он нужен? .
  • Не стоит пользоваться табличной версткой для форм. Это противоречит семантике этого тега, а поисковики любят семантичный код. Для того, чтобы формировать визуальную структуру документа нам достаточно тегов div, и заданных им в CSS свойств display: inline-block (выстраивает блоки в ряд) и vertical-align: top (не дает им разбежаться по экрану), задаем им необходимую высоту и вуаля, ничего лишнего и все расположено так, как нам нужно.
  • Для желающих экономить свое время на оформлении сайтов могу посоветовать пользоваться CSS фреймворками при создании сайтов, особенно самописных. Мой выбор в этом плане- Twitter Bootstrap . Урок по оформлению форм с его использованием можно посмотреть .

    PHP

    Ну вот и пришло время сделать нашу форму работоспособной.

    Заходим в наш корневой каталог сайта и создаем там файл mail.php, к которому мы ранее указывали путь в атрибуте action тега form.

    В конечном итоге его код будет выглядеть следующим образом:

    Ваше сообщение успешно отправлено

    Обсуждение HTML и CSS части этого документа можно пропустить. По своей сути это обычная страница сайта, которую Вы можете оформить по своему желанию и необходимости. Рассмотрим же важнейшую ее часть – PHP скрипт обработки формы:

    $back = "

    Вернуться назад

    " ;

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

    if (! empty ($_POST [ "name" ] ) and ! empty ($_POST [ "phone" ] ) and ! empty ($_POST [ "mail" ] ) and ! empty ($_POST [ "message" ] ) ) { //внутрення часть обработчика } else { echo "Для отправки сообщения заполните все поля! $back " ; exit ; }

    Тут мы прикручиваем проверку формы на наполненность полей. Как вы догадались, в части $_POST["name"] в кавычках мы пишем значение атрибута name наших инпутов.

    Если все поля заполнены, то скрипт начнет обрабатывать данные в своей внутренней части, если же хоть одно поле не было заполнено, то на экран пользователя выведется сообщение с требованием заполнить все поля формы echo "Для отправки сообщения заполните все поля! $back" и ссылкой для возврата на предыдущую страницу, которую мы создали самой первой строкой.

    Дале вставляем во внутреннюю часть обработчика формы:

    $name = trim (strip_tags ($_POST [ "name" ] ) ) ; $phone = trim (strip_tags ($_POST [ "phone" ] ) ) ; $mail = trim (strip_tags ($_POST [ "mail" ] ) ) ; $message = trim (strip_tags ($_POST [ "message" ] ) ) ;

    Таким образом мы очистили вводимые пользователем данные от html тегов и лишних пробелов. Это позволяет нам обезопасить себя от получения вредоносного кода в высылаемых нам сообщениях.

    Проверки можно и усложнить, но это уже по вашему желанию. Минимальную защиту на серверной стороне мы уже поставили. Дальнейшее мы сделаем на стороне клиента используя JS.

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

    После чистки тегов добавляем отправку сообщения:

    mail ("почта_для_получения_сообщений@gmail.com" , "Письмо с адрес_вашего_сайта" , "Вам написал: " . $name . "
    Его номер: " . $phone . "
    Его почта: " . $mail . "
    Его сообщение: " . $message , "Content-type:text/html;charset=windows-1251" ) ;

    Именно эта строка и занимается формированием и отправкой сообщения к нам. Заполняется она следующим образом:

  • "почта_для_получения_сообщений@gmail.com" – сюда между кавычек вставляете свою почту
  • "Письмо с адрес_вашего_сайта" – это тема сообщения, которое будет приходить на почту. Можно написать сюда что угодно.
  • "Вам написал: ".$name." < br /> Его номер: ".$phone." < br /> Его почта: ".$mail." < br /> Его сообщение: ".$message – формируем сам текст сообщения. $name – вставляем информацию заполненную пользователем через обращение к полям из предыдущего шага, в кавычках описываем что значит это поле, тегом < br /> делаем перенос строки, чтобы сообщение в целом было читабельно.
  • Content-type:text/html;charset=windows-1251 - в конце идет явное указание типа данных передаваемого в сообщении и его кодировки.
  • ВАЖНО!

    Кодировка указанная в «голове» документа ( < meta http- equiv= "Content-Type" content= "text/html; charset=windows-1251" /> ), кодировка из сообщения Content-type:text/html;charset=windows-1251 и в целом кодировка файла PHP должны совпадать иначе в получаемых на почту сообщениях вместо русских или английских букв будут выводиться «кракозябры».

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

    Проверка формы на адекватность вводимых данных

    Чтобы пользователи по невнимательности не промахивались полями и заполняли все корректно стоит поставить проверку вводимых данных.

    Это можно сделать как на PHP на стороне сервера, так и на JS на стороне клиента. Я использую второй вариант, поскольку так человек сразу может узнать что он сделал не верно и исправить ошибку не делая дополнительных переходов по страницам.

    Код скрипта вставляем в том же файле, где у нас располагается HTML часть формы. Для нашего случая он будет выглядеть так:

    < script> function checkForm(form) { var name = form. name. value; var n = name. match(/ ^[ A- Za- zА- Яа- я ] * [ A- Za- zА- Яа- я ] + $/ ) ; if (! n) { alert("Имя введено неверно, пожалуйста исправьте ошибку" ) ; return false ; } var phone = form. phone. value; var p = phone. match(/ ^[ 0 - 9 + ] [ 0 - 9 - ] * [ 0 - 9 - ] + $/ ) ; if (! p) { alert("Телефон введен неверно" ) ; return false ; } var mail = form. mail . value; var m = mail . match(/ ^[ A- Za- z0- 9 ] [ A- Za- z0- 9 \. _- ] * [ A- Za- z0- 9 _] *@ ([ A- Za- z0- 9 ] + ([ A- Za- z0- 9 - ] * [ A- Za- z0- 9 ] + ) * \. ) + [ A- Za- z] + $/ ) ; if (! m) { alert("E-mail введен неверно, пожалуйста исправьте ошибку" ) ; return false ; } return true ; }

    Ну а теперь обычный разбор:

    Для того, чтобы при нажатии на кнопку отправки формы, у нас происходила ее проверка вешаем запуск нашего скрипта на тег form:

    < form method= "post" action= "mail.php" onSubmit= "return checkForm(this)" >

    Теперь по пунктам забираем состав проверки:


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