Вот написал простенький скрипт не знаю двух вещей 1.Как бы мне туда форму проверки впихнуть(контент тайп не позволяет) 2.Как бы мне менять цвет текста в зависимости от цвета фона?
Помойму я уже говорил насчет скриптов.. Нехер их куда-то заливать если они маленькие.... Здесь выложи код в теге [ 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); ?>
плин хотел ведь.кароче говоря я разобрался.сделал второй скрипт: PHP: <? echo "<img src=\"g.php\">"; ?> туда уже формочку.но вопрос актуален: как в один скрипт запихнуть? upd: возникли проблемы с такм методом.строку $str я никак не передам во второй скрипт!
Если он тебе к примеру для защиты от авто регистраций: 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>"; ?> Как менять цвет еще подумаю...
вот написал скрипт у меня почему-то не работает(там есть 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); ?>
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>"; ?> Только не забудь про фильтрацию переменных