Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
EK
8 / 8 / 0
Регистрация: 16.02.2012
Сообщений: 381

Разобраться с каптчей и исправить ошибку в ней

06.12.2012, 14:34. Показов 1380. Ответов 8

Студворк — интернет-сервис помощи студентам
Добрый день.
На просторах сети нашел код простенькой капчи:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
session_start();                
for ($i = 0; $i < 6; $i++)      
$kaptca .= chr(rand(97, 122)); 
$image = imagecreatetruecolor(170, 60);     
$_SESSION['true_captcha'] = $kaptca;    
$image = imagecreatetruecolor(170, 60);
$text_color = imagecolorallocate($image, 200, 100, 90);   
$background = imagecolorallocate($image, 255, 255, 255);  
imagefilledrectangle($image,0,0,399,99,$background;      
imagettftext ($image, 30, 0, 10, 40, $text_color, $dir."arial.ttf", $_SESSION['true_captcha']);
header("Content-type: image/png");       
imagepng($image);
Немного поэкспериментировав, смог разобраться почти во всем.
То, в чем разобраться не смог, выражается в двух вопроса.
1) В 10-й строчке есть запись $dir."arial.ttf". После переменной dir стоит точка. Что это обозначает?
2) Почему код капчи не работает?

У меня периодически так бывает Скопирую код со страницы, вставлю в блокнот - работает. Начну экспериментировать - перестает работать. Возвращаю все на место - опять не работает. А почему - не врубаюсь.
Может, вы увидите какую-то неполадку?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2012, 14:34
Ответы с готовыми решениями:

Ошибка в символьном решении системы уравнений
Добрый вечер, помогите найти ошибку и разобраться с ней,заранее спасибо. Задание: Символьно решить системы уравнений.

Ребят, можете помочь исправить ошибку, долго с ней мучался.
Эта задача не работает полностью.Это программа с использованием меню. Зацикливается,когда переходит к case3. Помогите пожалуйста. ...

Не могу разобраться с программой, выдает ошибку C2371, как и что исправить, не знаю, строка 20
#define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;math.h&gt; char numder2text(int numbera) { int...

8
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.12.2012, 14:38
$dir это путь к директории где лежит шрифт arial.ttf
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
06.12.2012, 14:39
Цитата Сообщение от EK Посмотреть сообщение
1) В 10-й строчке есть запись $dir."arial.ttf". После переменной dir стоит точка. Что это обозначает?
Это конкатенация строк. Соединяет строку из переменной $dir и то, что в кавычках.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.12.2012, 14:39
Цитата Сообщение от EK Посмотреть сообщение
После переменной dir стоит точка. Что это обозначает?
конкатенация - склеивание строк
PHP
1
2
3
4
$var1 = 'foo ';
$var2 = 'bar';
$var3 = $var1 . $var2;
echo $var3; //output: foobar
Цитата Сообщение от EK Посмотреть сообщение
Почему код капчи не работает?
подразумеваю, что переменной $dir не существует
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
06.12.2012, 14:41
Цитата Сообщение от EK Посмотреть сообщение
PHP
1
$dir."arial.ttf"
Конкатенация строк. т.е. склейка.

Цитата Сообщение от EK Посмотреть сообщение
Почему код капчи не работает?
Нужна еще библиотека для php... Забыл ее название

Добавлено через 34 секунды

Не по теме:

как долго я оказывается пишу :D

0
06.12.2012, 14:41

Не по теме:

Цитата Сообщение от Dolphin Посмотреть сообщение
Забыл ее название
GD/GD2 ?

0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
06.12.2012, 14:45
не, библиотека называется FreeType
0
EK
8 / 8 / 0
Регистрация: 16.02.2012
Сообщений: 381
06.12.2012, 18:21  [ТС]
Парни, всем респект и уважуха
Все оказалось намного банальнее: в конце 9-ой строчки я забыл закрыть скобку
А скажите: в капчах для реальных проектов тоже используют chr(rand(...) или там уже другие алгоритмы?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.12.2012, 20:02
везде по разному
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2012, 20:02
Помогаю со студенческими работами здесь

Регистрация с каптчей
Здравствуйте. Прошу помощи, или даже, кто очень добрый, написать мне код. В общем, хотел сделать регистрацию на этом сайте...

Как исправить ошибку: формат теста исправить нельзя, только текст программы
class AmericanDate: def __init__(self, y, m, d): self.get_year = str(y) self.get_month = str(m//10)+str(m%10) ...

Ошибка в пути (работа с каптчей)
Добрый день. Подскажите, пожалуйста, пытаюсь вывести текст на холсте с помощью imagettftext() и вылезла ошибка - Could not find/open...

В коде выдает ошибку на 15 строчке. Мне надо исправить эту ошибку
procedure TForm1.BOkClick(Sender: TObject); var e1, e2: double; begin Label1.Caption := ''; if not...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru