Здесь можно найти всё что Вам нужно! ⇒

Почта techsupport@web-rubik.ru

Капча для сайта на PHP и простой пример - как установить скаченный скрипт капчи

Автор: © web-rubik

Капча. Все мы не раз сталкивались с вводом проверки капчи при регистрации, или в форме комментария, обратной связи. В этой статье я приведу наглядный пример, как установить скрипт капчи на свой сайт с помощью 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′]))), выводится сообщение об ошибке.
Вот таким образом можно установить капчу у себя на сайте.

На этом у меня всё, удачи вам и всяческих успехов!



Понравилось 78  

3 Комментарии КОТОРЫЕ

FoPtko

Спасибо.

© web-rubik

Пожалуйста!

ОbElv

Спасибо, ваш сайт очень полезный!


Оставить комментарий

Оставленные комментарии проверяются технической частью интернет портала Web-rubik.ru



←−−−