|
|
|
| доброго времени суток! есть скрипт капчи!
<?php
session_start();
header("Content-type: image/png");
$im = @imagecreate(40, 20) or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
$numbern=rand(1000,9999);
$number="$numbern";
$_SESSION['img'] = $number;
for ($i;$i<strlen($number);$i++)
{
$text_color = imagecolorallocate($im, rand(100,255),2, rand(100,255));
imagestring($im, rand(2,10), $i*9, 5, $number[$i], $text_color);
}
imagepng($im);
imagedestroy($im);
;
?>
|
подскажите как сделать чтобы при обновлении страницы, картинка не менялась а оставалась прежней,и менялся толь после ввода | |
|
|
|
|
|
|
|
для: admin
(29.05.2012 в 18:43)
| | $im = @imagecreate(40, 20) or die("Cannot Initialize new GD image stream");
У вас что GD имеет свойство в загул уходить? Неужто пользователю на месте картинки будет интересно "Cannot Initialize new GD image stream"? Не лишнее ли это? Собачте тогда все функции и действия в коде своем, почему только GD? )
Можно брать из кеша, но не факт, что в кеше окажется. А значит проверяйте - если в сессии имеется номер, а пользователь не отправлял формы, значит не генерировать новое значение, а брать его из сессии. | |
|
|
|
|
|
|
|
для: admin
(29.05.2012 в 18:43)
| | Создайте в сессии флаг, если он имеет значение 0, значит картинка не отображалась, в скрипте генерируйте значение и помещайте в качестве значения флага. При генерации нового значения проверяйте чему равен флаг, если он отличен от нуля - ничего не делайте, если равен 0 - генерируйте новое значение. При успешной обработке формы, флаг обнуляйте. | |
|
|
|