Генер

Discussion in 'PHP' started by scrat, 30 May 2007.

  1. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Вот написал простенький скрипт не знаю двух вещей
    1.Как бы мне туда форму проверки впихнуть(контент тайп не позволяет)
    2.Как бы мне менять цвет текста в зависимости от цвета фона?
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Помойму я уже говорил насчет скриптов..
    Нехер их куда-то заливать если они маленькие....
    Здесь выложи код в теге [ 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);
    ?>
     
  3. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    плин хотел ведь.кароче говоря я разобрался.сделал второй скрипт:
    PHP:
    <?
     echo 
    "<img src=\"g.php\">";
    ?>
    туда уже формочку.но вопрос актуален: как в один скрипт запихнуть?
    upd: возникли проблемы с такм методом.строку $str я никак не передам во второй скрипт!
     
    #3 scrat, 30 May 2007
    Last edited: 30 May 2007
  4. siw

    siw Member

    Joined:
    7 May 2007
    Messages:
    22
    Likes Received:
    10
    Reputations:
    0
    Если он тебе к примеру для защиты от авто регистраций:
    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>";
    ?>
    Как менять цвет еще подумаю...
     
    1 person likes this.
  5. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    siw: спс и на этом) + поставил.а с цветом разбирусь когда буду ttf-шрифтами рисовать
     
  6. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    вот написал скрипт у меня почему-то не работает(там есть 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);
    ?>
     
  7. siw

    siw Member

    Joined:
    7 May 2007
    Messages:
    22
    Likes Received:
    10
    Reputations:
    0
    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>";
    ?>
    Только не забудь про фильтрацию переменных ;)
     
    #7 siw, 30 May 2007
    Last edited: 31 May 2007