Блог о SEO оптимизация и поисковое продвижение
21 Дек
Вебмастеру, делающему сайт для людей (а не для пауков, рыбок, попугайчиков, инопланетных захватчиков, клозета) необходимо иметь обратную связь с посетителями сайта. Обратная связь возможна через комментарии (чаще всего это решение вопросов, дополнения, исправления, мнения), через контакты на сайте и через форму обратной связи — о ней и пойдёт речь.
Я расскажу, как создать именно простую форму обратной связи. Любую сложную форму для WordPress можно создать плагином Fast Secure Contact Form, а мой урок будет полезен тем, кто желает знать HTML и PHP основы формы обратной связи.
Обновление от 4.05.2011. Для практических целей рекомендую пользоваться более простым способом создания формы обратной связи (без использования PHP). Эту статью предлагаю использовать для изучения некоторых основ PHP-программирования.
Обновление от 19.07.2013. Ещё более простой способ — воспользоваться конструктором форм.
Обратная связь состоит из 2 частей: пользовательской (сама форма) и серверной (обработка отправленных пользователем данных). Первая часть может выглядеть примерно так:
Ваше имя:
Контактная информация для связи с вами (icq, e-mail или номер телефона):
Ваше сообщение:
Для создания такой формы послужит следующий HTML-код:
<form method="POST" action="/my-form-action.php"> <p>Ваше имя:</p> <input name="name"> <p>Контактная информация для связи с вами (icq, e-mail или номер телефона):</p> <input name="contact"> <p>Ваше сообщение:</p> <textarea name="message"></textarea> <p><input type="submit" value=" Отправить "></p> </form>
В первой строке кода мы указали, что данные будут передаваться методом «POST» и что обрабатывать переданные данные будет скрипт «my-form-action.php», находящийся в корне сайта. Есть альтернативный метод передачи данных — «GET». Этим методом данные передаются через URL, в силу чего не удастся передать большой текст. Метод GET используют в основном для навигации.
Передаваться будут 3 значения: name, contact, message — именно по этим именам будем их ловить в скрипте обработки данных, переданных из простой формы обратной связи. Простой скрипт отбаботки (my-form-action.php):
<? # получаем данные и отсекаем пробельные символы в начале и конце: $name = @ trim ($_POST['name']); $contact = @ trim ($_POST['contact']); $message = @ trim ($_POST['message']); # проверка, переданы ли все данные if (! $name or ! $contact or ! $message) exit ('Необходимо заполнить все поля, вернитесь'); # отправка данных на мыло админу mail ("admin@site.ru", "Сообщение с сайта (отправитель: $name)", "$message \n\n Контакты: \n $contact"); header ("Location: /my-form-ok.html"); ?>
Важно: при использовании кода на сайте проверяйте вводимые пользователем данные на корректность, во избежание хулиганства и взломов. Не доверяйте вводу пользователя.
Важно. Отправьте тестовые данные после того, как установите форму на сайт. Если вместо слов на русском языке на почту придут непонятные символы — тут дело в кодировке. Для исправления добавляем один передаваемый функцией mail () параметр (строки 9-11 в коде выше):
mail ("admin@site.ru", "Сообщение с сайта (отправитель: $name)", "$message \n\n Контакты: \n $contact", "Content-type:text/plain; charset=utf-8");
Здесь явно указана кодировка utf-8, если после её указания на почту всё равно приходят кракозябры, но другие, попробуйте указать кодировку windows-1251.
В строках 3, 4, 5 мы получаем переданные данные. В строках стоит символ «@», подавляющий сообщения «notice» на тот случай, если данные не переданы. В 7 стоке условие будет иметь значение TRUE в том случае, если хотя бы одно из значений — пустая строка. Пользователю будет предложено вернуться и заполнить все поля, а выполнение скрипта обработки будет остановлено. В строке 9 происходит отправка сообщений на e-mail администратора. Первым параметром мы указываем свой адрес e-mail, второй параметр — тема письма (в ней будет имя отправившего сообщение пользователя), третий — тело письма (сообщение и контакты).
12 строкой мы отправляем пользователя на страницу «my-form-ok.html» в корне сайта, где можно написать что-то типа «спасибо за сообщение», также можно отправить на любую другую страницу.
Здесь мною изложены основы web-кодинга, которые помогут создать простую форму обратной связи. В создании более сложной формы да помогут вам готовые скрипты или справочники.
Update 12.10.2010.
Egor предложил объединить скрипт-обработчик и форму в один файл. Вот что у меня получилось:
<? if (isset ($_POST['message'])) { $name = @ trim ($_POST['name']); $contact = @ trim ($_POST['contact']); $message = @ trim ($_POST['message']); if (! $name or ! $contact or ! $message) echo ('<p style="color: red">Необходимо заполнить все поля</p>'); else { mail ("admin@site.ru", "Сообщение с сайта (отправитель: $name)", "$message \n\n Контакты: \n $contact"); echo ('<p style="color: green">Ваше сообщение получено, спасибо!</p>'); $_POST['name'] = $_POST['contact'] = $_POST['message'] = ''; } } ?> <form method="POST"> <p>Ваше имя:</p> <input name="name" value="<?=@$_POST['name'];?>"> <p>Контактная информация для связи с вами (icq, e-mail или номер телефона):</p> <input name="contact" value="<?=@$_POST['contact'];?>"> <p>Ваше сообщение:</p> <textarea name="message"><?=@$_POST['message'];?></textarea> <p><input type="submit" value=" Отправить "></p> </form>
Запись опубликована 21 декабря 2009 года. Пост окончен, но в рубрике «Web-кодинг» есть не менее интересные посты:
RSS подписка (как это?) поможет вам не пропустить ничего интересного на этом блоге.
На «Простая форма обратной связи (PHP, HTML)» получено 117 отзывов
Ну а как же может быть «простая форма» если здесь миллион настроек нужно совершать?
Есть плагины и попроще для этой цели, достаточно только в админке создать страницу и вставить ВВ-код.
Простая форма — это хорошо. Но, пожалуй, удобнее держать связь через аську, по телефону, либо через скайп.
Пожалуй. Зависит от случая — для чего конкретно делается обратная связь. Если для продажи услуг и товаров, то нет ничего важнее он-лайн общения (чат или голос). Но иногда бывает важно дать возможность посетителю высказаться или выразить благодарность / пожаловаться, не задействуя при этом тех средств, которых у посетителя сайта может и не быть (аська, скайп)
что то не получается не отправляет а куда этот ког надо вставить в idex
HTML-код вставляется туда, где хочется видеть форму обратной связи. На счёт остального написано
Тоже где-то была форма...Примерно такая же. Очень удобна для обмена ссылками и.т.п.
www.seo-stories.ru/obmen.php
Спасибо за идею, котяра. Надо будет доработать эту форму и предлагать с её помощью обмен ссылками
Ya vsio zdelayu pravilno no patmo pakazivaet eto vnezu !
Method Not Allowed
The requested method POST is not allowed for the URL /my-form-action.php.
Ошибка гласит, что метод POST не допускается для вашего файла my-form-action.php.
Если вы используете код на том сайте, что у вас в подписи, расположенном на бесплатном хостинге Narod.ru, вынужден вас разочаровать: для использования скрипта требуется поддержка PHP, которой нет на Народе. Если вы точно уверены, что PHP на вашем хостинге разрешён, попробуйте альтернативный метод передачи данных — GET или обратитесь за помощью в тех. поддержку своего хостинга. А на Народе используйте уже готовые решения для сайтов. Например, гостевую книгу
огромное спасибо все легко и просто.Всего два файла и форма готова.
Огромное спасибо автору сайта!
Огромное наздоровье. Надеюсь, ещё и полезно будет. По крайней мере наглядно отражено, как это делается
Спасибо Вам!!Очень помогло!!!
Очень прошу вас выложить какуюнибудь простую гостевую книгу...и описать о ней также пошагово как она устанавливается...очень прошу!!
Будет сделано, Александр. Следите за обновлениями сайта по RSS
Спасибо большое!Жду!
Почему сообщения которые пишут на русском приходят не понятными иэроглифами
Ваша проблема связана с кодировками. Наверное, почту смотрите не в той кодировке, в которой она была отправлена. Для преобразования данных перед отправкой в нужную кодировку, можете использовать PHP-функцию:
$s = iconv («UTF-8», «Windows-1251», $s);
— здесь текст переводится из кодировки UTF-8 в Windows-1251
Здравствуйте! А как представленный выше скрипт можно использовать для отправки(одновременной) сразу на 2 почтовых ящика, а то я что-то нигде в интернете не могу найти что-либо подобное!
Если Вас не затруднит ответьте мне на почту!
Спасибо!
Очень просто, Владимир. Там где mail («admin@site.ru», ... Вместо admin@site.ru должны быть через запятую перечислены получатели. Т.е. ваш случай будет выглядеть примерно так: mail («Vasya <vas@site.ru>, Kolya <kol@site.ru>, kto.to@site.ru», ...
Кстати, имена, типа Vasya, нельзя писать кириллицей. Чтобы использовать кириллицу в именах, их надо определённым образом кодировать
Скажите пожалуйста,как сделать вывод сообще после отправки письма «Сообщение отправлено»
ааа всё.не заметил, прошу прощения
а нельзя сообщения об ошибке выводить не на новой пустой странице, а на той же, допустим перед формой??
Конечно же можно. Для этого объединяем 2 скрипта: скрипт вывода формы и обработки переданного сообщения. Если есть переданные данные (например, if (isset ($_POST['message'])) ... ) запускается скрипт-обработчик. А когда он отработает и выдаст результат, ниже выводить форму, в которую можно подставлять полученные от пользователя переменные, если это нужно
Спасибо огромное,весь сайт свой собра сам а с формами ни чего не получалось.Вот искал и на шол.
Кто ищет тот найдет .Огромное спасибо .
Спасибо автору!
Все работает, но не отправляет письмо на мыло гы гы...
Прочитала, что mail () не всегда срабатывает...
Подскажите плз чем можно ее заменить?
В качестве альтернативы можно не отправлять $message на почту, а сохранять в файл, который потом просматривать любым удобным способом. Этот кусок кода допишет в конец файла messages.txt новое сообщение, вместе с именем и контактом автора:
$fp = fopen ('messages.txt', 'a'); # открытие flock ($fp, LOCK_EX); # блокировка файла fwrite ($fp, "$name ($contact): $message \n\n"); # работа с файлом fflush ($fp); # очищение файлового буфера и запись в файл flock ($fp, LOCK_UN); # снятие блокировки fclose ($fp); # закрытие
можете рассказать об этом более подробнее мне именно это нужно но я не понял как это сделать
lamer, берётся код из предыдущего комментария и вставляется в код из поста вместо функции mail (...);
Не поверишь,давно искал подобное,но есть проблема :я свой эмейл ввел,но туда ничего не приходит!
как исправить то?
А как сделать простую форму для отзывов, чтобы люди могли комментировать материалы сайта и сообщения выводились бы на той же странице? Типо такой формы как эта.
Сергей, для этого вам надо не отправлять (или не только отправлять) полученные сообщения на e-mail, а сохранять их в текстовый файл на сервере и сделать интерфейс для вывода этих сообщений при показе записей
Добрый день, спасибо за форму, очень проста. Столкнулся только с проблемой — на почту приходят каракули, как и где можно установить кодировку отправляемого письма? Да и с размерами полей имя, контакты проблем нет. А как изменить размеры textarea ? Спасибо.
С размерами textarea и остальными разобрался, просто стили прописал. А вот с кодировкой вопрос остается открытым
Для преобразования данных перед отправкой в нужную кодировку, можете использовать PHP-функцию:
$s = iconv ('UTF-8', 'Windows-1251', $s);
— здесь текст переводится из кодировки UTF-8 в Windows-1251. Вам надо на месте выяснить, в какой кодировке находится предлагаемая пользователю страница и в какой кодировке открывает письмо почтовый клиент
Хайпер — я видел этот пост, куда его вставлять? в какое место? пробовал несколько вариантов — при отправке выдает ошибку.
Не много повозился вставил:
mail (\"моя_почта\", \"Отзыв — Теплопроводность мат. — ТД (отправитель: $name)\", \"$message \\n\\n Контакты: \\n $contact\", \"Content-type:text/html; charset=windows-1251\"); т.е. вставил: Content-type:text/html; charset=windows-1251
теперь сообщение приходит нормальное, а вот тема письма вобще не отображается, отображаются только символы и английские буквы.
Впринципи на счет темы мне не принципиально, но хотелось бы разобраться) Спасибо.
Кароче, я пока оставляю так:
mail ("@mail.ru", "Otzyv - Teploprovodnost mat. TD", "Имя: $name \n\n Контакты: \n $contact Коментарий: $message \n\n", "Content-type:text/html; charset=windows-1251");
Контакты, Имя и Коментарий приходит нормально, ну а тема письма на английском будет.
Хорошо, Валерий, что вы разобрались. Может и другим читателям ваш код поможет. Конечно, можно поковыряться, но золотое правило программиста: не трогай то, что работает 🙂
Туфта: отправляет в непонятной кодировке... так и не смог сделать нормально, провозившись с советами из комментов... Фигня запись.
eBMW, специально для вас могу написать запись, как сделать форму обратной связи без необходимости программировать. Если подпишитесь на обновления блога 🙂
Подписался.
eBMW, опубликовал запись, которая вам поможет создать форму обратной связи без необходимости борьбы с кодировками: hyperseo.ru/?p=3829
Ага, посмотрел... сейчас прокомментирую там.
Здравствуйте, у меня конкретный вопрос по делаю форму где текст вставленный в textarea должен передаться в тот же скрипт и соответствующим образом обработаться... Проблема в том что текст возвращается в виде квадратиков и обработке естественно не подлежит. Грешу на кодировку но разобраться не могу, может подскажите что? буду очень благодарен.
Опробовал все советы здесь предложенные ничего не помогло. Скрипт, веб-сервер и сам сервер настроены на кодировку utf-8
Здравствуйте, Seiros. С такими конкретными и сложными вопросами обратитесь, пожалуйста, по любому контакту на странице контактов. Если будет в моих силах — помогу
Вот еще альтернативный вариант:
majes.ru
я себе их ставлю, не подводили.
che to ne to
А что надо?
Warning: mail () [function.mail]: «sendmail_from» not set in php.ini or custom «From:» header missing in C:\xampp\htdocs\blog\index.php on line 7
не ортправляе письмо выбивает данную ошибку. Помогите как исправить ситуацию
Установить Денвер и пробовать на нём (если вы делаете это на локальном компьютере). Конечно, радикальное решение проблемы, но проще, чем выяснять траблы конфигурации вашего сервера
Классная форма. Полностью рабочая
Здравствуйте, не получается сделать, чтобы после отправки письма или в случае не заполнения обязательного поля, выводилось окно с информацией.
Нужно сделать, чтобы такая информация не выводилась на отдельной странице — это неудобно для пользователей.
Александр, вам тогда нужно сделать JS-обработчик перед отправкой формы. Вообще, по идее можно и саму форму отправлять без перезагрузки страницы посредством AJAX
Возможно, у Вас в блоге есть статья, как это сделать. С удовольствием прочитаю!
Ничего такого я пока не писал. Видите, даже такая простая форма обратной связи, которая заработает в 99,9% случаев, вызвала множество вопросов. Если я буду описывать более экзотический функционал, мне придётся книжку по формам связи написать. 🙂 В вашем случае следует начать с того, что в форму добавить вызов функции обработчика:
<form onsubmit="form_check();">
, затем задать эту самую функцию form_check (), в которой сделать проверку обязательных полей, и в случае, если они окажутся пустыми, выдать сообщение иreturn false
— чтобы отправки формы не произошлоБольшое спасибо за объединение скрипт-обработчика и формы в один файл. Все работает!
Большое пожалуйста, Юлия
Спасибо!
Долго искал простой и надежный скрипт обратной связи. Скрипт отсылающий запрос на сторонний PHP-обработчик не устраивает. Скрипты с обработчиком в директории сайта в 80% не работают, или имеют проблемы с кодировкой.
Ваш объединенный код PHP и HTML прост в обращении и надежен. В моем случае пришлось перевести в кодировку UTF-8, для устранения кракозябр в письме. Кроме того мне нужно было несколько полей ввода, «организация», «e-mail», «телефон» и т.д. Дописал несколько строк и вуаля, все работает.
Хайпер, побольше бы в сети грамотных специалистов, помогающих другим. Спасибо вам за ваше решение!
С уважением,
Денис.
Спасибо, Денис. Всегда радостно знать, что мой труд не пропадает даром
С смс намного легче этого делать 🙂
Зато без смс намного дешевле
Как вызвать cforms из wordpress кода
ProGrafika, не вижу смысла в том, чтобы веб-разработчики организации, оказывающей подобного рода услуги, не могли вставить в wordpress форму обратной связи cforms
Подскажите, пожаоуйста, я использую WordPress. Написала на странице этот код. Установила плагин Exec-PHP, чтобы страница восприняла php, но метод post не работает. Пишет «Старница не найдена». Вот пример — www.okudryashova.ru/?page_id=113. Что же мне делать?
Ольга, можете попробовать сделать отдельную страницу-обработчик. Например: get-message.php — туда и добавить часть кода, которая обрабатывает полученное сообщение. Положить эту страницу следует в корень сайта, тогда вам и плагин Exec-PHP не понадобится. Только в форме следует указать, что обработка формы производится на другой странице: form method="post" action="get-message.php"
Хайпер, спасибо большое. Но у меня есть ещё одна проблемка. Я пишу код расчёта стоимости и мой результат вычислений зависит от того, что ввёл пользователь в форму. Если я помещу файл расчёта php в корень сайта то всё хорошо. но теряется оформление, это мне не подходит. Если я помещу файл в корень темы, то не передаются данные методом post. Получается один выход — писать плагин. Очень хотелось бы услышать ваше мнение, как профессионала, т.к. я новичок. Немного не по теме, но я была бы вам очень благодарна за ответ.
Можно вставить всё ваше оформление в виде html в файл-обработчик, независимо от того, куда вы его положите. Для этого надо открыть исходный код страницы (ctrl+U обычно), оформление которой вы хотите скопировать — оттуда скопировать весь html, убрать лишнее, добавить нужное, при необходимости скорректировать ссылки.
Ещё есть способ — загружать форму на странице в iframe, которому задать размер достаточный для отображения формы и результатов. Тогда вообще над дизайном можно будет не париться — в дизайне вашей страницы будет как бы окошко с видом на другую страницу, работа над дизайном которой будет заключаться лишь в указании внешнего вида полей ввода и шрифтов, если это необходимо. Такой принцип используется в моей другой статье — форма обратной связи на основе документов Google
А на Народе значит обратную связь не сделать? Только гостевая? В гостевой все посетители видят кто что пишет, а обратная связь предполагает более приватное общение...
Подскажите тогда плиз какой-нибудь бесплатный хостинг, где эта форма обратной связи будет работать?
Ольга, почему бы не сделать гораздо проще: разметить на каждой странице сайта на видном месте е-мэйл адрес или номер телефона вообще.
Здравствуйте, а вы не поможете мне с задачкой? мне нужно сделать 2 вещи: 1 — стену куда все могут писать комментарии на сайте. 2 — обмен сообщениями плана: выбираете кто вы есть, выбираете получателя пишете письмо и отправляете его. потом нажимаете кнопку получить и можете забрать все письма для вас... это как-бы хотелось видеть работающим на локалхосте... подаскажите пожалуйста код...
Подскажите, а как вставить в форму еще две строки, помимо имени и е-мейла: город и моб.телефон? Или дайте пожалуйста ссылку на готовый пример. Спасибо!
Поищите в вашем любимом поисковике «тэг input html». И тогда сможете вставить хоть ещё 4 строки
Привет!!! тестирую вашу форму, в принципе работает, только вот письма на почту приходят с не понятной кодировкой. Все перерыл, не могу найти где косяк.
веб-сервер: IIS 7
сервер исх.сообщений: smtp.mail.ru
Вообще-то в примере я использовал PHP-функцию mail () для отправки сообщений. Не представляю, как в ней можно указать сервер исх.сообщений: smtp.mail.ru. По крайней мере, в документации такая возможность не описана. Может, вы используете какую-то другую функцию?
Если же вы всё же используете mail () и получаете на почту «кракозябры», то начните с того, что создайте тестовый php-файл с таким кодом:
mail("ваш-адрес@mail.ru", "Тема письма", "Текст письма");
И если на почту придут «кракозябры», обратитесь с вопросом о работе функции mail () в техподдержку вашего хостинга. Возможно, виной всему особенности конфигурации сервера.Сервер исх.сообщений указывается не в ней, а в настойках вебсервера. Понятно, что сообщения уходить не будут без настроенного на сервере SMTP. А хостинг в данном случае является мой комп с поднятым IIS7. Вот и задаю вопрос где можно еще посмотреть кодировку.
Все победил!! Так и знал что собака зарыта в самой функции mail. В общем прописал кодировку в php-код:
mail ("mail@mail.ru", "Сообщение с сайта (отправитель: $name)", "$message \n\n Контакты: \n $contact", "Content-type:text/plain; charset = utf-8");
Спасибо! Отличная статья! А как сделать функцию отправки файла через форму?
Спасибо большое, форма работает! У меня проблема с кодировкой когда не все поля заполнены и пишет «Необходимо заполнить все поля, вернитесь», вот там кракозябры выдает. Я понимаю, что здесь также проблемы с кодировкой, но куда конкретно и как поставить этот windows-1251 сообразить не могу. Подскажите, пожалуйста!
Здравствуйте, Светлана. Побывал на вашем сайте, попробовал отправить форму с незаполненными полями, получил сообщение «Необходимо заполнить все поля. Вернуться» — никаких кракозябр.
Светлана, я понял. Это у меня браузер Firefox корректно автоматически определил кодировку, а вот Хром не справился. Вам в файле «send.php» стоит корректно формировать страницу вывода, вот так (этим заменить сообщение об ошибке):
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>Ошибка</title> </head> <body> <p style="color: red">Необходимо заполнить все поля. <a href="/kontakty">Вернуться</a> </p> </body> </html>
Спасибо, Хайпер, теперь все отлично! Пожалуй подпишусь на ваш блог.
Спасибо за подписку. Надеюсь, вам будет интересно.
Установил ваш обработчик , первое письмо отправилось нормально, а потом http 500 ошибки дает. =(
Добрый день!
Перепробовал кучу простых форм для отправки сообщений. Письма уходят неизвестно куда, ко мне не доходят, хотя во всех формах подставлял свой e-mail. Подскажите, пожалуйста, в чем может быть проблема. Спасибо!
Максим, ваша проблема специфична. Напишите мне на почту
Илья, ошибка 500 — это неполадки в работе сервера или ошибки в .htaccess, что вряд ли имеет отношение к обработчику
Здравствуйте, не работает почему то Ваша форма, нажимаю отправку и почему идет открытие (либо сохранение) php файла, что может быть причиной?
Причина в вашем случае, Игон, что на вашем хостинге нет поддержки PHP. Вам рекомендую или обзавестись нормальным хостингом под сайт, либо пользоваться более простым способом создания формы обратной связи (без использования PHP). Эта информация была вначале статьи, будьте внимательны — в 99% случаев что-то не работает именно по причине невнимательности администратора сайта.
Parse error: syntax error, unexpected '"' ...(путь к php файлу на сервере) on line 12
вот такая ошибка
Ильдар, в 12 строке компилятор увидел непредвиденную кавычку. Будьте внимательны или учите синтаксис PHP
Спасибо разобрался — работает оба метода
Добрый день, а вы не подскажите как создать такую форму обратной связи, чтобы посетители могли редактировать запись задавать стиль, форматировать текст, а также вставлять изображения и документы.
Денис, пожалуй, для этих целей вам лучше добавить к сайту форум
Спасибо огромное. Из всех сайтов решил именно этот способ проверить и не прогадал) Все очень просто и главное работает.
Спасибо автору)
Простой и действенный метод. Ничего лишнего, все просто и ясно. Большое спасибо
Спасибо за уроки
Можете в данной странице указать сам код для данной формы обратной связи с проверкой вводимых символов (защита от хакеров)? Заранее благодарен.
Farhad, данный код простой формы на этой странице не нуждается в какой-то большей защите. Разве что какой-нибудь хулиган может вам 1000 писем подряд отправить. 🙂 Тогда просто отсортируйте в почте письма по ключевой фразе в теме: «Сообщение с сайта (отправитель» — и удалите. В данном случае просто избавиться от последствий хулиганства, потому защита нецелесообразна. А вот если вы пишите в файлы или в базу данных принятые от посетителей сообщения, тогда защита необходима. Но если я буду описывать форму обратной связи с занесением сообщений в базу данных а также с удобной админкой для чтения этих сообщений, это уже не будет простая форма обратной связи.
Здравствуйте! Отличная форма, то что искала...спасибо)
Только у меня проблема...на ящик приходит не корректно отображающиеся сообщение.
(пробовала utf-8 менять на windows-1251, но всё равно корректно отображаются или русские или английские буквы...возможно ли как то сделать вариант, что бы все символы отображались правильно?)
Ответил на почту
Привет, а можете подсказать как сделать форму с checkbox'ами?
Могу. Не сложней, чем добавить в мою форму новые поля input с типом checkbox
Здравствуйте ! Хотел бы сказать огромное спасибо , во всем интернете единственная рабочая форма !!! Наконец-то нашел !
Спасибо!
Здраствуй Хайпер !
Использовал на сайте обратную форму все работало , но вдруг на место надписи «Не все поля были заполнены» открывается php файл и на странице вот такие каракули )
ФІХёХ¬ХёЦЂ Х¤ХЎХ·ХїХҐЦЂХЁ ХєХЎЦЂХїХЎХ¤Х«ЦЂ ХҐХ¶ Х¬ЦЂХЎЦЃХґХЎХ¶ Х°ХЎХґХЎЦЂ
Подобные проблемы всегда в том, что заголовки ответа сервера не соответствуют содержимому. В крайнем случае, можно общаться с пользователем посредством жаваскрипт
Здравствуйте!
Прочитал статью, понравилась, думаю сделаю, чтобы всё работало. Но мне так же надо, чтобы пользователь мог добавить несколько дублирующихся полей. То есть есть у нас, например, поля
Маршрут
Наименование груза
Габариты
Масса
Количество
Примечания
Маршрут как правило общий, примечания тоже. А вот
Наименование груза
Габариты
Масса
Количество
Могут быть много раз и надо, чтобы нажав на кнопку внизу формы, человек мог добавить эти поля.
Подскажите, как это сделать?
При помощи JS добавлять поля. Проще всего воспользоваться фреймворком jQuery, чтобы сделать это в одну строку кода
Неплохой урок, но подскажите:
Как сделать php файл так, чтобы в письме на почте были не только сами данные, но и их обозначения???
То есть:
«Имя — введенная инфа
Телефон — 122345»
и так далее? чтобы облегчить работу менеджера.
и никак не получается сделать загрузку файла (не приходит на почту!)
Илья, так в коде вроде бы так и указано:
отправитель: $name, Контакты: $contact
Правда, там имя отправителя в теме письма выводится, но можете продублировать и в тело.
Загрузку файла, конечно, сделать на порядок сложнее, чем добавить на свой вкус в письмо данные и обозначения. Могу сделать нужный код за небольшое вознаграждение
Добрый вечер.
Подскажите как в данной форме изменить почту отправителя посредством php?
Спасибо.
mail ("admin@site.ru", "Сообщение с сайта (отправитель: $name)", "$message \n\n Контакты: \n $contact", "From: $contact");
— так в поле отправителя поставится адрес того, кто форму заполнял, и в почтовой программе ему можно будет ответить, просто нажав кнопку ответа
для нормальной работы должен работать outlook?
Олег, для нормальной работы необходимо и достаточно, чтобы работал мозг 😉
Все понятно, но все таки как код будет выглядеть с учетом безопасности. Просто пока понимание в php 0.1 %
А как будет выглядеть человек с учётом безопасности? Один оденет антимикробную маску, другой — антирадиационный скафандр. От опасностей стоит защищаться по мере их возникновения. Также выбор защиты зависит от сложности вашей формы обратной связи. При использовании моей простой формы обратной связи с отправкой сообщения на ваш e-mail, максимум, что вам грозит — почтовый спам. И с ним бороться лучше на стороне вашего почтового сервера, не озадачивая ваших посетителей лишними проверками.
Реклама на сайте
Спасибо за статью! Ребят, попробуйте сервис от pozvonim.com Простая установка на любую cms, хорошая поддержка. Не сочтите за рекламу, ссылка не реферальная, просто можно взять и попробовать на тестовый период. А потом уже решить подходит или нет. Цены как у всех, можно пакеты брать, а можно количество клиентов или минут. Лидогенерация очень высокая, а окупаемость быстрая. Может кому пригодится мой комментарий
скопировал ваш файл из 23 строк но при обращении
высветились только две фотографии
Ответил на почту
Ваше SEO-мнение
Я прошу высказать своё мнение, а не оставить ссылку на раскручиваемый сайт. В любом случае, ссылки в комментариях у меня закрыты от индексации, если интересует качественный обмен ссылками -обращайтесь