Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Генер (https://forum.antichat.xyz/showthread.php?t=41224)

scrat 30.05.2007 16:10

Генер
 
Вот написал простенький скрипт не знаю двух вещей
1.Как бы мне туда форму проверки впихнуть(контент тайп не позволяет)
2.Как бы мне менять цвет текста в зависимости от цвета фона?

Isis 30.05.2007 16:13

Помойму я уже говорил насчет скриптов..
Нехер их куда-то заливать если они маленькие....
Здесь выложи код в теге [ php]

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);
?>


scrat 30.05.2007 16:22

плин хотел ведь.кароче говоря я разобрался.сделал второй скрипт:
PHP код:

<?
 
echo "<img src=\"g.php\">";
?>

туда уже формочку.но вопрос актуален: как в один скрипт запихнуть?
upd: возникли проблемы с такм методом.строку $str я никак не передам во второй скрипт!

siw 30.05.2007 20:55

Если он тебе к примеру для защиты от авто регистраций:
PHP код:

<?
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>";
?>

Как менять цвет еще подумаю...

scrat 30.05.2007 21:54

siw: спс и на этом) + поставил.а с цветом разбирусь когда буду ttf-шрифтами рисовать

scrat 30.05.2007 22:21

вот написал скрипт у меня почему-то не работает(там есть echo $str закоментированный для теста)
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));
  }
//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);
?>


siw 30.05.2007 22:54

PHP код:

<?
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>";
?>

Только не забудь про фильтрацию переменных ;)


Время: 08:38