Капча для сайта на PHP и простой пример - как установить скаченный скрипт капчи
Автор: © web-rubik
2030 Просмотры
78 Понравилось
Капча. Все мы не раз сталкивались с вводом проверки капчи при регистрации, или в форме комментария, обратной связи. В этой статье я приведу наглядный пример, как установить скрипт капчи на свой сайт с помощью PHP и своими силами, бесплатно. Так же вы узнаете, как установить скаченный скрипт капчи в свою форму.
Для начала сам скрипт двух примеров:
<?php include_once "db.php"; session_start(); ?> <!-- =============================== Вариант 1 =============================== --> <?php if(isset($_POST[′submit1′])){ if($_POST[′number′] == $_SESSION[′number′]){ echo "<span style=′color:#F00;′>Всё правильно!</span><br><br>"; } else{ echo "<span style=′color:#F00;′>Вы ошиблись, попробуйте ещё раз</span><br><br>"; } } $a = rand(1,10); $b = rand(1,10); $_SESSION[′number′] = $a + $b; ?> <form action="index.php" method="post"> <?php echo "$a + $b = "; ?> <input name="number" type="text" size="1"> <br> <input name="submit1" type="submit" value="Отправить"> </form> <!-- =============================== Вариант 2 =============================== --> <?php $name = $_POST[′name′]; $mail = $_POST[′mail′]; $text = $_POST[′text′]; $submit = $_POST[′submit′]; $cryptinstall = "captcha/cryptographp.fct.php"; include $cryptinstall; if(isset($_POST[′submit2′])){ if($_POST[′name′] != "" && chk_crypt($_POST[′code′])){ $query = mysql_query("INSERT INTO comments(name,text,mail) VALUES (′$name′,′$text′,′$mail′)"); echo "<span style=′color:#F00;′>Сообщение отправлено</span><br><br>"; } else{ echo "<span style=′color:#F00;′>На сервер были переданы не верные данные</span><br><br>"; } } ?> <form action="index.php?<?php echo SID; ?>" method="post"> <table> <tr> <td>Имя:</td> <td><input name="name" type="text"><span style="color:#F00">*</span></td> </tr> <tr> <td>E-mail: </td> <td><input name="mail" type="text"></td> </tr> </table> Сообщение: <br> <textarea name="text" cols="30" rows="4"></textarea> <table> <tr> <td width="60"> <br><br> Код: </td> <td> <?php dsp_crypt(0,1); ?> <input type="text" name="code"><span style="color:#F00;">*</span> </td> </tr> </table> <br><br> <input name="submit2" type="submit" value="Отправить"> </form>
Теперь давайте разберёмся по подробней.
Вариант 1
Наша задача состоит в следующем: сгенерировать два случайных числа, сложить их, а сумму сравнить с числом введённым пользователем в форму.
Для этого нам понадобиться форма с двумя полями, запустить сессию ($_SESSION) и сгенерировать два случайнх числа.
Перед началом HTML кода, устанавливаем подключение к базе данных и запускаем сессию:
Сгенерируем два случайных числа от 1 до 10 ($a = rand(1,10); $b = rand(1,10);) и запишем в переменную $_SESSION сумму этих чисел путём сложения ($_SESSION[′number′] = $a + $b;). Создадим файл обработчик с двойным условием (if - else).
Капча готова к использованию!
Вариант 2
Если вы хотите установить готовый скрипт капчи у себя на сайте, создайте отдельно папку (captcha) и поместите туда скаченные файлы. В файле обработчик укажите путь к файлам капчи ($cryptinstall = "captcha/cryptographp.fct.php"; include $cryptinstall;).
К продолжению урока - PHP скрипт формы обратной связи, который вы можете посмотреть
здесь
Вставим в форму скаченный скрипт капчи и добавим в условии сходство с введёнными данными (chk_crypt($_POST[′code′]))
Теперь если не указанно имя или не правильный код с картинки (if($_POST[′name′] != "" && chk_crypt($_POST[′code′]))), выводится сообщение об ошибке.
Вот таким образом можно установить капчу у себя на сайте.
На этом у меня всё, удачи вам и всяческих успехов!
3 Комментарии КОТОРЫЕ
FoPtko
Спасибо.
© web-rubik
Пожалуйста!
ОbElv
Спасибо, ваш сайт очень полезный!
Оставить комментарий
Оставленные комментарии проверяются технической частью интернет портала Web-rubik.ru