В этой статье мы расскажем о том, как сделать простую, работающую форму обратной связи на PHP.
Первым делом разберемся с файловой структурой, у нас будет главная страница index.html, папка со стилями - css, в которой будет один файл стилей template.css и файл PHP - send.php.
Первым делом создадим разметку нашей формы в файле index.html:
Ключевыми тут являются атрибуты action и method у <form>, первый отвечает за путь до PHP файла обработчика отправления письма, а второй за тип передачи в этот обработчик данных.
- В нашем случае файл-обработчик send.php, который лежит в корневом каталоге, рядом с index.html, потому и путь такой.
- И мы выбрали метод GET, так же можно выбирать метод POST, просто получать данные потом в PHP файле вы будете по другому.
- Для <input> важен атрибут name, при помощи его значения потом мы будем доставать значения в PHP.
Добавим немного стилей, чтобы форма была по центру страницы:
Теперь остается только написать обработчик send.php, который будет отправлять сообщение на почту.
Немного о логике происходящего. Пользователь, попав на страницу index.html, заполняет поля формы и нажимает на кнопку Отправить (В нашем случае она будет с текстом "Нажмите, чтобы отправить письмо"), после чего страница переходи к файлу send.php, который будет выполнять, написанный нами скрипт, по его результатам выводить сообщение об успешной/не успешной отправке.
Немного о самом скрипте, чтобы продемонстрировать работоспособность примера, письмо будет отправляться на указанный в поле E-mail. Т.е. вы сможете ввести свой адрес и удостоверится в работе скрипта.
Вот сам скрипт, с комментариями строк:
Чтобы понять, что тут происходит, вам нужны хотя бы базовые знания PHP или программирования на других языках. Комментарии помогут вам.
Там где мы вытаскиваем данные в переменные - используется глобальная переменная и значения атрибутов name, соответствующих полей.
Результат работы примера можно увидеть на демо-странице:
Скачать исходники примера ниже:
Комментарии
файл PHP кода, строка 6, в примере туда достается введенная почта, но можно задавать и любую другую (свою)
Спасибо, рады стараться)
Можно и на локальном сайте - Denwer или что-то подобное. Отсылку комментария можно делать так же, если нужно добавлять сохранение в БД, чтобы потом комментарий отображать сразу.
Возможно проблема в отправителе? Попробуйте на разные почты присылать (yandex, mail и т.д.)
в строке 7 лучше всего указывать почту с доменом сайта, с которого отправляется письмо, например для нашего это может быть no-reply
Спасибо.
Иначе, какой смысл выкладывать, то чем не программист разобраться не сможет.
RSS лента комментариев этой записи