Вот нашёл такой скрипт капчи
<?php
$r=rand(1000000,9999999);
for($i=0;$i < 7;$i++) //разбиваем секретный код на массив чисел
$arr[$i]=substr($r,$i,1);
$im=imagecreate(130,40); //создаем картинку
imagecolorallocate($im,255,255,255);
$a=0;
for($i=0;$i < 7;$i++) //наносим код на картинку
{
$color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagestring($im,rand(2,9),$a+=15,rand(0,20),$arr[$i],$color);
}
header("Content-type: image/jpeg");
imagejpeg($im,'',100); //выводим капчу
?>
Потом сделал:
Капча: <img src="incfiles/captcha.php"><br/>
Введите капчу: <input type="text" name="captcha" value="" size=7><br/>
Как мне сделать проверку, правильно/не правильно?
Файл обработчик : SendComments.php
P.S.Напишите пожалуйста, код проверки.
Istsam, в скрипт капчи цифры надо посылать сессией, то есть $_SESSION['kod'] = mt_rand(111111,999999); и в самой капчи тогда написать $r = $_SESSION['kod'] .а проверять тогда if($_POST['captcha']!=$_SESSION['kod'])exit('you bot'); не забывай включать сессии
17 Дек 2010, 13:44вот архив с 3-мя файлами
AddComents.php-форма ввода
SendComments.php-обработчик
Captcha.php-скрипт капчи
в моём случае это так
<input type="text" name="captcha" action="http://'.$_SERVER['HTTP_HOST'].'/SendComments.php?id='.$id.'" method="post" value="" size=7>
ввожу капчу правильно, пише что не правильно.
Обработчик:
$captcha = output($_POST['captcha']);
if($captcha!=$_SESSION['kod'])
{
echo'<div class="grey">Капча введена не верно</div>';
exit();
}
else
{
echo'занос в базу';
}
че это за капча? ее поломать боту - раз плюнуть. делай шум, смещение, разные шрифты, "фоновый" текст
17 Дек 2010, 14:05