Форма зворотнього зв'язку php

У даній статті я постараюся пояснити як створити з 0 форму зворотного зв'язку на php із захистом від спам розсилок. І так приступимо до написання коду скрипта.

1. Для початок створимо головний файл index.php і додамо в нього просту форму на html:

Давайте розберемо, що написано вище, щоб потім не виникало питань.

action = "request.php" - файл, на який ми будемо пересилати дані з форми

method = "POST" - метод передачі "POST" даних у формі

2. Тепер створимо файл request.php в одній папці з index.php і додамо в нього наступне:

Через CSS зможете оформити форму, як захочете, про це розповідати не буду, наведу простий приклад.

Форма зворотнього зв'язку php

Форма готова, перш ніж йти далі, перевірте її працездатність, якщо все працює, переходимо далі.

Захист форми від спаму

Найпростіший і оптимальний спосіб захисту від спаму в формі від спам-розсилок - це додавання в форму невидимих ​​полів.

Ідея така: Спам-робот, намагається заповнити всі поля (навіть якщо їх не видно), природно користувач не може їх заповнити, так як вони для нього не існують і ми цим скористаємося, додавши просте правило - "якщо приховане поле заповнене, то відправка листи скасовується, якщо не заповнено, то відправляється ". І так приступимо.

1. Додамо нове поле в нашу форму:

У ньому ми прибрали всі зайві атрибути, так як вони нам ні до чого і залишимо тільки тип і ім'я поля, а так же додамо клас, щоб через CSS ми його сховали для користувача.

2. Додамо правило для CSS в файлі стилів:

Або якщо немає файлу стилів, то додамо в index.php між тегом head, наступну запис:

3. Ми створили поле і приховали його, тепер потрібно додати умови в файлі request.php:

Отримаємо текст з поля спам, для цього додамо рядок, на початку:

І додамо умови, для перевірки на спам.

В результаті отримаємо такий request.php:

Перевіряємо і якщо працює, то у вас через форму тепер не буде проходити спам.

Як бонус, покажу, як виводити подячний текст.

Додавання подячного тексту

1. У файл index.php додамо наступну запис (можна в будь-якому місці):

Тут йде перевірка на Get параметр, який ми видаємо в файлі request.php, якщо форма вирушила і якщо це сталося, до додається даний блок:

2. Тепер в стилях зробимо його фіксованим, щоб не де заважав і його було видно:

3. Відмінно, при відправці блок з'являється, але залишається висіти і хочеться, щоб через кілька секунд він пропав, для цього скористаємося jquery.

Для початку підключимо бібліотеку між тегами head.

І нижче цієї записи додамо наступний скрипт:

Тут досить все просто, при завантаженні сторінки блок плавно зникає з перебігу 5 секунд.

Якщо потрібно, щоб форма зберігала введені значення в полях форми після відправки, то трохи поправимо виклик полів:

Схожі статті