Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему код работает через раз? 
V
    Опции темы
Severyanin
Дата 2.8.2007, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Доброе время суток. Пишу captcha. Пока все на начальном этапе. Не могу понять, почему код работает через раз. 
Код

<?php
  
   $font=array('times','tahoma','pala','GOTHIC','georgia','framd','cour','comic','arial');
   $symb=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
   $color=array(0xEE82EE,0x800000,0xFF0000,0xA52A2A,0xB22222,0x000000,0xDDA0DD,0x708090,0xBEBEBE,0x808080,0x000080,0x6495ED,0x0000FF,0x008080,0x00FF00,0x008000,0x228B22,0x808000,0xD269E1);
   //случайный шрифт для каждой буквы
   $r1=mt_rand(1,8);
   $r2=mt_rand(1,8);
   $r3=mt_rand(1,8);
   $r4=mt_rand(1,8);
   $r5=mt_rand(1,8);
   $r6=mt_rand(1,8);
   $r7=mt_rand(1,8);
   //случайный символ
   $rs1=mt_rand(1,54);
   $rs2=mt_rand(1,54);
   $rs3=mt_rand(1,54);
   $rs4=mt_rand(1,54);
   $rs5=mt_rand(1,54);
   $rs6=mt_rand(1,54);
   $rs7=mt_rand(1,54);
   //случайный цвет
   $rc1=mt_rand(1,19);
   $rc2=mt_rand(1,19);
   $rc3=mt_rand(1,19);
   $rc4=mt_rand(1,19);
   $rc5=mt_rand(1,19);
   $rc6=mt_rand(1,19);
   $rc7=mt_rand(1,19);
   
   $c1=$font[$r1];
   $c2=$font[$r2];
   $c3=$font[$r3];
   $c4=$font[$r4];
   $c5=$font[$r5];
   $c6=$font[$r6];
   $c7=$font[$r7];
   $width=150;
   $length=80;
    $s1=$symb[$rs1];
   $s2=$symb[$rs2];
   $s3=$symb[$rs3];
   $s4=$symb[$rs4];
   $s5=$symb[$rs5];
   $s6=$symb[$rs6];
   $s7=$symb[$rs7];
   $image = imagecreatetruecolor(150,80) or die('Cannot create image');
   imagefill($image,0,0,0xFFFFFF);
   imagettftext($image,28,0,10,50,$rc1,getcwd()."/".$c1.".ttf",$s1);
   imagettftext($image,28,0,25,30,$rc2,getcwd()."/".$c2.".ttf",$s2);//ymb[mt_rand(0,56)]);
   imagettftext($image,28,0,40,40,$rc3,getcwd()."/".$c3.".ttf",$s3);//ymb[mt_rand(0,56)]);
   imagettftext($image,28,0,55,50,$rc4,getcwd()."/".$c4.".ttf",$s4);//ymb[mt_rand(0,56)]);
   imagettftext($image,28,0,70,35,$rc5,getcwd()."/".$c5.".ttf",$s5);//ymb[mt_rand(0,56)]);
   imagettftext($image,28,0,85,45,$rc6,getcwd()."/".$c6.".ttf",$s6);//ymb[mt_rand(0,56)]);
   imagettftext($image,28,0,100,50,$rc7,getcwd()."/".$c7.".ttf",$s7);//ymb[mt_rand(0,56)]);
  
   header('Content-type: image/png');
   imagepng($image);
   imagedestroy($image);
   
?>

Я, конечно, понимаю, что там куча рандомайзеров, но все же странно.


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
teroni
Дата 2.8.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



А как именно не работает?
З.Ы. Простенькая каптча, без проблем ломается... Добавь изломов каких-то, шумов, блюров smile 
PM MAIL   Вверх
Severyanin
Дата 2.8.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Да я знаю, что простенькая smile . потом хочу добавить волновое искажение. Пока хотя бы это заставить работать. Мой первый опыт на ПХП smile . А работает весьма странно. Картинка то нормально генерится, то выдается как пустая(не отображается). smile

Добавлено через 6 минут и 48 секунд
Да,и еще вопрос. Каким образом лучше всего передать сгенерированную строку вызывающему сценарию для сверки с введенной?

Добавлено через 8 минут и 31 секунду
Я пока передаю через куки


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
teroni
Дата 2.8.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



Через сессии!

Добавлено через 1 минуту и 56 секунд
Посмотри, на в captcha.ru сделано - неплохой и довольно понятный скриптик.
PM MAIL   Вверх
Severyanin
Дата 2.8.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Да, я его видел и скачал. Алгоритм хороший, но наверняка его не я один видел smile . поэтому попоробую его доработать как-нибудь. А первоначальные вопросы так и остались не решенными. Я привык, что программа или работает. или нет, а с таким промежуточным состоянием впервые сталкиваюсь smile 


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
teroni
Дата 2.8.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



Точно все шрифты есть? Попробуй что-то вроде этого:
Код

$fonts = glob('fonts/*.ttf');
$font = $fonts[array_rand($fonts)];

А на счет алгоритма - важно, не то, сколько человек видели, а сколько человек может взломать smile

Это сообщение отредактировал(а) teroni - 2.8.2007, 14:17
PM MAIL   Вверх
Severyanin
Дата 3.8.2007, 05:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



спасибо большое smile . Скрипт начал нормально работать smile . И код выглядит куда лучше smile

Добавлено через 8 минут и 33 секунды
Не мог бы кинуть пару ссылок на хорошие статьи по использованию сессий?


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
teroni
Дата 3.8.2007, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



PM MAIL   Вверх
Severyanin
Дата 3.8.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Спасибо smile 


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 28.8.2007, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Модератор: Название темы должно отражать ее суть!



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0784 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.