Время:
Новых сообщений: Нет
Вы на форуме дней
Ваша группа: Гость
Ваш IP: 18.226.93.138
Logical-Portal — молодежный портал со своей изюминкой, каждый сможет найти что-то интересное и полезное для себя, например наш форум общения с которым вам обязательно нужно ознакомиться.
  • Страница 1 из 1
  • 1
Капча на PHP
Сообщение оставлено 13.12.2011 в 17:02:00 | Сообщение #1
В этом топике попытаюсь подробно разъяснить использование капчи на php.
Итак, начнем.
К пример возьмем самую простую - KCapcha. Качаем этот архив
Загружаем все через ftp в папку scripts
Далее в начало php скрипта, в котором должна быть капча объявляем начало сессии

Code
<?php  
  $___notjson=1;  
  session_start();  
  ?>


Будем делать все попорядку, чтобы не возникло проблем. Капча на то и капча, её надо отобразить, поэтому в нужном месте пишем код:

Code
<form action="" method="post"><img src="./?<?php echo session_name()?>=<?php echo session_id()?>"><br>  
  Текст с картинки:<br>  
  <input type="text" name="keystring"><br><br>  
  <input type="submit" value="Отправить"></form>


Ну а здесь по вашему желанию, либо делать отдельно файл php, либо в одном файле. Я выберу, пожалуй, все в одном, т.к. не каждому нравится, когда его все время метает на разные скрипты, да и впринцепе вам же удобней, чем куча файлов.
Итак, теперь чтобы это использовать, вам нужна такая конструкция:

Code
<?php  
  if(count($_POST)>0){  
           if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){  
  ...Если капча верна...  
  }else{  
  ...Если нет...  
  }  
  }  
  unset($_SESSION['captcha_keystring']);  
  ?>


Под конец, напишем коротенький скриптик:

Code
<?php  
  $___notjson=1;  
  session_start();  
  ?>  
  <form action="" method="post"><img src="./?<?php echo session_name()?>=<?php echo session_id()?>"><br>  
  Текст с картинки:<br>  
  <input type="text" name="keystring"><br><br>  
  <input type="submit" value="Отправить"></form>  
  <?php  
  if(count($_POST)>0){  
           if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){  
  echo "Привет, человек!";  
  }else{  
  echo "Привет, компьютер!";  
  }  
  }  
  unset($_SESSION['captcha_keystring']);  
  ?>


Думаю все ясно разъяснил, это пример простейшей капчи. Удачи!
 
 
   
  • Страница 1 из 1
  • 1
Поиск:
 
Графика от: Megas, GraFOS | Дизайн сверстал E.A.
Хостинг от uCoz
Яндекс.Метрика