kalinger_roman
@kalinger_roman
Web front-end и back-end

Почему не работает капча?

function createCaptcha(){ 
   $captchastring = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
   $captchastring = substr(str_shuffle($captchastring), 0, 8);
   $_SESSION['captcha'] = $captchastring;
   $image = imagecreatetruecolor(200, 50);
   $color = imagecolorallocatealpha($image, 0, 0, 0, 127);  
   imagefill($image, 0, 0, $color);
   imagesavealpha($image, true);
   $colour = imagecolorallocate($image, 250, 250, 250);
   $font = CaptchaPathFont; //путь до шрифта
   $rotate = rand(-2, 2);
   imagettftext($image, 19, $rotate, 6, 30 , $colour, $font, $captchastring);
   header('Content-Type: image/png');
   ImagePNG($image); 
  }

Имеется функция которая генерирует капчу. Все работало, но потом произошло что то магическое и перестало работать.
Вызываю эту функцию таким образом
<img src="/dinamic/captcha/" class="captcha" alt="Captcha">

Где dinamic контроллер, captcha его функция которая в свою очередь вызывает функцию createCaptcha.
  • Вопрос задан
  • 358 просмотров
Пригласить эксперта
Ответы на вопрос 1
markitantovm
@markitantovm
Художник, музыкант, литературовед
Получается 2 белых цвета, поэтому ничего не видно.
Здесь у вас alpha 127 - полная прозрачность поставьте ее в 0, либо поменяйте цвет самого текста ниже
$color = imagecolorallocatealpha($image, 0, 0, 0, 127);

$colour = imagecolorallocate($image, 250, 250, 250);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы