[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Усложнение каптчи
vn214
Доброго времени суток!

Есть что то отдаленно похожее на каптчу, как можно ее усложнить
сделать фон например линейчатый, а не сплошной, раздвоить изображение
цифр и т.д.



 session_start();

$code = (string)rand(10000,99999);


$_SESSION['captcha'] = $code;


$hImg = imagecreatetruecolor(50,30);

$black = imagecolorallocate($hImg,0,0,0);

imagefill( $hImg,0,0, $black);

$white = imagecolorallocate($hImg,255,255,255);

imagestring($hImg,2,10,5,$code,$white);

header("Content-type: image/jpeg");

imagejpeg($hImg );

imagedestroy($hImg );




Спустя 2 минуты, 50 секунд (19.08.2010 - 19:09) Lenarfate написал(а):

Спустя 6 дней, 5 часов, 17 минут, 9 секунд (26.08.2010 - 00:26) vn214 написал(а):
Lenarfate, а почему возникает такая ошибка/предупреждение в Вашей каптче.

Картинка рисуется один раз - при первой загрузке. После клика по каптче - ее уже не видно.


Цитата

PHP Warning:  imagepng(): supplied argument is not a valid Image resource in .../captcha.php on line 110



//cтрока 110

// Отсылаем картинку в стандартный выходной поток (в браузер)
imagepng($captcha);


Как это можно исправить?

Спустя 23 часа, 16 минут, 21 секунда (26.08.2010 - 23:43) vn214 написал(а):
Народ так как все таки исправить, ошибку. Ведь каптча не всегда работает

.....
// Пишу эту случайную строку в капче
imagestring($captcha, 5, 33, 4, $string, $font_color);

// Указание пользователю
$how_refresh = 'press to change';
imagestring($captcha, 3, 2, 26, $how_refresh, $black);

// Сохраняю строку в сессии
$_SESSION['key'] = $string;


// Отсылаем заголовок браузеру, что ему сейчас будет передана картинка
header('Content-type: image/png');



// Отсылаем картинку в стандартный выходной поток (в браузер)
//110 строка
imagepng($captcha);
...

Весь код каптчи можно увидеть по ссылке выше.


_____________
Спартак - чемпион
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.