Капча для сайта на PHP и простой пример - как установить скаченный скрипт капчи
Автор: © web-rubik
3378 Просмотры
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