Просмотр полной версии : Генер
Вот написал простенький скрипт (http://webfile.ru/1423772) не знаю двух вещей
1.Как бы мне туда форму проверки впихнуть(контент тайп не позволяет)
2.Как бы мне менять цвет текста в зависимости от цвета фона?
Помойму я уже говорил насчет скриптов..
Нехер их куда-то заливать если они маленькие....
Здесь выложи код в теге [ php]
<?
$n=mt_rand(4,9); //количество символов
$str="abc"; //строка
// имеем 3 диапазона символов: 0-9,A-Z,a-z
//вычисляем диапазон каждого символа и прсваиваем ему случайное значение в нужном диапазоне
for($i=0;$i<$n;$i++)
{
$d=mt_rand(0,2); //диапазон
if($d==0) $str[$i]=chr(mt_rand(48,57));
if($d==1) $str[$i]=chr(mt_rand(65,90));
if($d==2) $str[$i]=chr(mt_rand(97,122));
}
$im=imagecreate(300,50);
imagecolorallocate($im,mt_rand(10,255),mt_rand(10, 255),mt_rand(10,255));
imagestring($im,mt_rand(3,5),mt_rand(0,300-$n*10),mt_rand(20,35),$str,mt_rand(1,15));
header("Content-type: image/jpeg");
imagejpeg($im);
imagedestroy($im);
?>
плин хотел ведь.кароче говоря я разобрался.сделал второй скрипт:
<?
echo "<img src=\"g.php\">";
?>
туда уже формочку.но вопрос актуален: как в один скрипт запихнуть?
upd: возникли проблемы с такм методом.строку $str я никак не передам во второй скрипт!
Если он тебе к примеру для защиты от авто регистраций:
<?
echo "<html>";
echo "<body bgcolor=white>";
echo "<p>Введите текст с этой картинки:<br>";
echo "<form method=post>";
$n=mt_rand(4,9); //количество символов
$str="abc"; //строка
// имеем 3 диапазона символов: 0-9,A-Z,a-z
//вычисляем диапазон каждого символа и прсваиваем ему случайное значение в нужном диапазоне
for($i=0;$i<$n;$i++)
{
$d=mt_rand(0,2); //диапазон
if($d==0) $str[$i]=chr(mt_rand(48,57));
if($d==1) $str[$i]=chr(mt_rand(65,90));
if($d==2) $str[$i]=chr(mt_rand(97,122));
}
$im=imagecreate(300,50);
imagecolorallocate($im,mt_rand(10,255),mt_rand(10, 255),mt_rand(10,255));
imagestring($im,mt_rand(3,5),mt_rand(0,300-$n*10),mt_rand(20,35),$str,mt_rand(1,15));
imagejpeg($im, "pic.jpg");
imagedestroy($im);
echo "<img src='pic.jpg'/><br/>";
echo "<input type=text name=textfield value=''/>";
echo "<input type='submit' name='submit' value='Submit'/>";
echo "</form>";
echo "</p></body></html>";
?>
Как менять цвет еще подумаю...
siw: спс и на этом) + поставил.а с цветом разбирусь когда буду ttf-шрифтами рисовать
вот написал скрипт у меня почему-то не работает(там есть echo $str закоментированный для теста)
<?
$n=mt_rand(4,9); //количество символов
$str="abc"; //строка
// имеем 3 диапазона символов: 0-9,A-Z,a-z
//вычисляем диапазон каждого символа и прсваиваем ему случайное значение в нужном диапазоне
for($i=0;$i<$n;$i++)
{
$d=mt_rand(0,2); //диапазон
if($d==0) $str[$i]=chr(mt_rand(48,57));
if($d==1) $str[$i]=chr(mt_rand(65,90));
if($d==2) $str[$i]=chr(mt_rand(97,122));
}
//echo $str;
$im=imagecreate(300,50);
imagecolorallocate($im,mt_rand(10,255),mt_rand(10, 255),mt_rand(10,255));
imagestring($im,mt_rand(3,5),mt_rand(0,300-$n*10),mt_rand(20,35),$str,mt_rand(1,15));
imagejpeg($im,"1.jpg");
echo "<img src=1.jpg><form action=g.php>
<input type=text name=code>
<input type=submit name=go value=Check!>
</form>";
if(isset($go))
{
if($code==$str) echo "correct";
if($code!=$str) echo "not correct!";
else echo "omg!";
}
imagedestroy($im);
?>
<?
session_name('sid');
session_start();
session_register('string');
session_register('name_pic');
error_reporting(0);
echo "<html>";
echo "<body bgcolor=white>";
$go = $_POST['go'];
$code = md5($_POST['code']);
$str = $_SESSION['string'];
$name = $_SESSION['name_pic'];
unlink ("".$name.".jpg");
if(isset($go))
{
if($code==$str)
echo "correct";
if($code!=$str)
echo "not correct!";
}
else
{
echo "<p>Введите текст с этой картинки:<br>";
echo "<form method=post>";
$n=mt_rand(4,9); //количество символов
$str="abc"; //строка
// имеем 3 диапазона символов: 0-9,A-Z,a-z
//вычисляем диапазон каждого символа и прсваиваем ему случайное значение в нужном диапазоне
for($i=0;$i<$n;$i++)
{
$d=mt_rand(0,2); //диапазон
if($d==0) $str[$i]=chr(mt_rand(48,57));
if($d==1) $str[$i]=chr(mt_rand(65,90));
if($d==2) $str[$i]=chr(mt_rand(97,122));
}
$_SESSION['string'] = md5($str);
$im=imagecreate(300,50);
imagecolorallocate($im,mt_rand(10,255),mt_rand(10, 255),mt_rand(10,255));
imagestring($im,mt_rand(3,5),mt_rand(0,300-$n*10),mt_rand(20,35),$str,mt_rand(1,15));
$name = rand(000000,999999);
$_SESSION['name_pic'] = $name;
imagejpeg($im, "".$name.".jpg");
imagedestroy($im);
echo "<img src='".$name.".jpg'/><br/>";
echo "<input type=text name=code value=''/>";
echo "<input type='submit' name='go' value='Submit'/>";
echo "</form>";
}
echo "</p></body></html>";
?>
Только не забудь про фильтрацию переменных ;)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot