Есть что то отдаленно похожее на каптчу, как можно ее усложнить
сделать фон например линейчатый, а не сплошной, раздвоить изображение
цифр и т.д.
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);
...
Весь код каптчи можно увидеть по ссылке выше.
_____________
Спартак - чемпион