Создание формы обратной связи является довольно простой задачей. Примеры реализации формы приводятся во многих учебниках по PHP для новичков. Опишем вкратце один из способов ее создания.
Для начала следует понять, что для отображения и отправки формы мы будем использовать одну страницу вида «http://FirstSite.com/contact». Таким образом, в action формы нужно будет указать текущий адрес. В скрипте следует сделать проверку на полученные данные. В том случае, если они присутствуют, то их необходимо проверить на корректность и при положительном результате отправить форму по указанному E-mail адресу. В том случае, если данные были введены некорректно, либо их нет, то нужно отобразить форму.
Основной проблемой всех существующих плагинов является их стремление к универсальности, что становится причиной увеличения кода. Поэтому приходится беспокоиться не только о безопасности WordPress, но и о защите всех плагинов. Обеспечим защиту нашей формы путем внедрения на страницу математической капчи, требующей ввести результат сложения двух небольших чисел.
Не будем здесь приводить весь код формы, так как он достаточно громоздок. Ограничимся лишь некоторыми замечаниями.
• Изначально определяется функция valid_email(), возвращающая true в случае правильнсоти введенного e-mail адреса;
• Далее проверяются POST данные и наполненность обязательных полей;
• Затем форма проверяется антиспамом, требующим ввести сумму двух случайно сгенерированных чисел. При этом на форму добавляются скрытые поля, в которых содержатся те же самые числа, умноженные на другие случайные числа. Но такой антиспам достаточно примитивен и при определенных навыках может быть легко обойден. Для реализации хорошего антиспама нужно более серьезное программирование;
• При успешной проверке подготавливаются данные, и совершается сама отправка с помощью функции mail(). Следует запомнить, что при тестировании скрипта под windows эта функция обычно отключена. Поэтому реальная отправка письма не произойдет;
• Последним шагом является вывод сообщения об успешной отправке формы.
Таким образом, форма обратной связи WordPress создается в несколько несложных шагов. С этого времени посетители вашего сайта обретают обратную связь с вами, что, безусловно, скажется на качестве их отзывов.