<?
session_start(); // чтобы использовать сессионную переменную
$width = 276; // ширина капчи
$height = 150; // высота капчи
$im = imagecreatetruecolor($width, $height); // делаем прямоугольник
$bgcolor = imagecolorallocate($im, 255, 193, 193); // цвет фона
imagefilledrectangle($im, 0, 0, $width, $height, $bgcolor); // заливаем цветом
$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; // символы, из которых формируем капчу
$caplen = 6; // количество символов в капче
$captcha = ''; // инициализируем переменную капчи
$fontfile = "fonts/JOKERMAN.ttf"; // используем данный шрифт
// Далее организовывается цикл с количеством итераций равным длине капчи:
for($i = 0; $i < $caplen; $i++)
{
$captcha = $captcha.$letters[ rand(0, strlen($letters)-1) ]; // добавляем в капчу случайный символ
$x = ( ($width - 20) / $caplen ) * $i + 10; // положение символа по оси х
$y = $height - ( ($height - $fontsize) / 2 ); // положение символа по оси y
// Далее добавляем немного "случайности" в координаты символа:
$x = rand($x-5, $x+5);
$y = rand($y-10, $y+10);
$angle = rand(-40, 40); // случайным образом генерируем угол наклона для текущего символа
$fontsize = rand(20, 40); // размер текущего символа
$textcolor = imagecolorallocate($im, rand(0,100), rand(0,100), rand(0,100)); // случайный цвет для символа
// Рисуем символ со всеми выше полученными характеристиками на изображении:
imagefttext($im, $fontsize, $angle, $x, $y, $textcolor, $fontfile, $captcha[$i]);
}
// Когда цикл отработает, в переменной captcha будет содержаться текстовое значение капчи,
// а изображение im будет представлять из себя отрисованную капчу
$_SESSION['phrase'] = $captcha; // сохраняем значение капчи в сессионной переменной
header("Content-type: image/png"); // указываем, что контент представляет из себя не текст, а изображение
imagepng($im); // выводим сформированное изображение капча на экран
imagedestroy($im); // освобождаем память, выведенную под изображение
?>
Файлик регистрации:
<?php include("header.php"); ?>
<div id="content">
<br />
ГОСТЕВАЯ КНИГА
<div id="guest_forma">
<form action="sign_handler.php" method="post" enctype="multipart/form-data">
<p> Имя <br /> <input name="fio" value="<?=$_COOKIE["fio"]?>" type="text" /> </p>
<p> Логин <br /> <input name="login" value="<?=$_COOKIE["login"]?>" type="text" /> </p>
<p> Пароль <br /> <input name="pass" type="password" /> </p>
<p> Почта <br /> <input name="email" value="<?=$_COOKIE["email"]?>" type="text" /> </p>
<p> Фото <br /> <input id="foto" name="pic" type="file" /> </p>
<p> Введите текст с картинки <br /> <input name="phrase" /> </p>
<div id="captcha"> <img src="mycaptcha.php"> </div>
<br />
<input id="submit_button" type="submit" value="Зарегистрироваться" />
</form>
</div>
<div id="guest_message">
<?php
echo $_SESSION['mess'];
$_SESSION['mess']="";
?>
</div>
</div>
<?php include("bottom.php"); ?>
Подскажите пожалуйста, в чём тут может быть проблема? Может надо какие-то дополнительные настройки произвести на хостинге?