Создание привлекательной формы. Часть 5

Создание привлекательной формы

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

Поскольку алгоритм работы капчи детально описан в указанном выше уроке, я не буду объснять его повторно. Итак, приступим.

Детали учебника

Тема: PHP

Сложность: Средняя

Урок: Видео версия (.mp4)

Время: 00:18:46

Размер архива: 53 Mb

скачать исходникискачать урок

Реализацию задачи начнем, конечно же, с создания поля для капчи. Добавим это поле, к примеру, после поля для отзыва:

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

Теперь давайте проверим в клиентском скрипте, чтобы поле капчи было заполнено перед отправкой на сервер. Для этого всего-навсего достаточно добавить имя данного поля в массив fields скрипта form.js:

Следующим шагом давайте реализуем динамическую генерацию чисел. Для этого воспользуемся функцией mt_rand() и сохраним в 2 переменные 2 сгенерированных числа. Также в сессионную переменную сохраним результат математического действия. Все это уместится в 3 строки кода, которые мы напишем после тела условия if($_POST):

Теперь выведем в форме значения переменных $a и $b:

Теперь с каждым обновлением страницы мы будем видеть разные цифры в математическом выражении. Ну а в сессионной переменной у нас хранится результат вычисления математического выражения. Осталось в теле условия if($_POST) сравнить то, что ввел пользователь в поле капчи, с тем, что сохранено в сессионной переменной. Если значения совпадут, значит пользователь прошел проверку.

До проверки значения переменной $error проверим сформированное условие:

Вот, собственно, и все. Как видите, все довольно просто и уместилось буквально в несколько строк кода 🙂

На этом наш урок завершен. Если у Вас возникли какие-либо вопросы по уроку, то задавайте их, пожалуйста, на нашем форуме.

Удачи и до новых встреч!

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии (26)