Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2014, 16:46   #1
kposs
 
Регистрация: 25.03.2014
Сообщений: 6
По умолчанию Не выводится изображение капчи и не реагирует на неправильность ввода

PHP код:
[B]reg_captcha.php[/B]
<?
    session_start
();
    
$width 100;
    
$height 50;
    
$font_size 17.5;
    
$let_amount 4;
    
$fon_let_amount 30;
    
$path_fonts 'fonts/';
    
    
$letters = array('a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z','2','3','4','5','6','7','9');
    
$colors = array('10','30','50','70','90','110','130','150','170','190','210');
    
    
$src imagecreatetruecolor($width,$height);
    
$fon imagecolorallocate($src,255,255,255);
    
imagefill($src,0,0,$fon);
    
    
$fonts = array();
    
$dir=opendir($path_fonts);
    while(
$fontName readdir($dir)){
        if(
$fontName != "." && $fontName != ".."){
            
$fonts[] = $fontName;
        }
    }
    
closedir($dir);
    
    for(
$i=0;$i<$fon_let_amount;$i++){
        
$color imagecolorallocatealpha($src,rand(0,255),rand(0,255),rand(0,255),100);
        
$font $path_fonts.$fonts[rand(0,sizeof($fonts)-1)];
        
$letter $letters[rand(0,sizeof($letters)-1)];
        
$size rand($font_size-2,$font_size+2);
        
imagettftext($src,$size,rand(0,45),rand($width*0.1,$width-$width*0.1),rand($height*0.2,$height),$color,$font,$letter);
    }
    for(
$i=0;$i<$let_amount;$i++){
        
$color imagecolorallocatealpha($src,rand(2737),rand(5969),rand(8090), 0);
        
$font $path_fonts.$fonts[rand(0,sizeof($fonts)-1)];
        
$letter $letters[rand(0,sizeof($letters)-1)];
        
$size rand($font_size*2.1-2,$font_size*2.1+2);
        
$x = ($i+1)*$font_size rand(4,7);
        
$y = (($height*2)/3) + rand(0,5);
        
$cod[] = $letter;   
        
imagettftext($src,$size,rand(0,15),$x,$y,$color,$font,$letter);
    }
    
$_SESSION['img_captcha'] = implode('',$cod);
 
    
header ("Content-type: image/gif"); 
    
imagegif($src);
?>
[B]check_captcha.php[/B]
<?
    
if($_SERVER["REQUEST_METHOD"] == "POST"){
        
session_start();
        if(
$_SESSION['img_captcha'] == strtolower($_POST['reg_captcha'])){
            echo 
'true';
        }else{
            echo 
'false';
        }
    }
?>
[B]/fonts/cour.ttf[/B]
[B]registration.php[/B]
...
                    "reg_captcha":{
                        required:true,
                        remote:{
                            type:"POST",
                            url:"reg/check_captcha.php"
                        }
                                         }
...
                    "reg_captcha":{
                        required:"Введите код с картинки!",
                        remote:"Не верный код проверки!"
                    }
...
Изображения
Тип файла: jpg 123.jpg (34.5 Кб, 44 просмотров)

Последний раз редактировалось kposs; 25.03.2014 в 17:21.
kposs вне форума Ответить с цитированием
Старый 25.03.2014, 17:08   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Если просто запустить reg_captcha.php – изображение в браузере появляется?

P.S.: Для размещения кода есть кнопка «PHP» в редакторе сообщений.
Andkorol вне форума Ответить с цитированием
Старый 25.03.2014, 17:20   #3
kposs
 
Регистрация: 25.03.2014
Сообщений: 6
По умолчанию http://bshop/reg/reg_captcha.php

При вводе в строку вот:
Изображения
Тип файла: jpg 111111111.jpg (128.3 Кб, 146 просмотров)
kposs вне форума Ответить с цитированием
Старый 25.03.2014, 17:25   #4
kposs
 
Регистрация: 25.03.2014
Сообщений: 6
По умолчанию

Вводил код по видео-урокам, вот только исходников не было, и в папке "fonts" я добавил шрифт cour.ttf из поисковика, может не тот шрифт?
У него всё получилось, а вот у меня не выводиться...
P.S. код перепроверял много раз
kposs вне форума Ответить с цитированием
Старый 25.03.2014, 17:27   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Решение проблемы "Cannot add header information - headers already sent"
Andkorol вне форума Ответить с цитированием
Старый 25.03.2014, 17:38   #6
kposs
 
Регистрация: 25.03.2014
Сообщений: 6
По умолчанию

Спасибо, помогла перекодировка файла из UTF-8 в UTF-8 без BOM
kposs вне форума Ответить с цитированием
Старый 04.05.2015, 18:45   #7
aleksandr88
Новичок
Джуниор
 
Регистрация: 04.05.2015
Сообщений: 2
По умолчанию

та же проблема только не получаеться ни фига
aleksandr88 вне форума Ответить с цитированием
Старый 04.05.2015, 18:45   #8
aleksandr88
Новичок
Джуниор
 
Регистрация: 04.05.2015
Сообщений: 2
По умолчанию

та же проблема только не получается ни фига
aleksandr88 вне форума Ответить с цитированием
Старый 05.05.2015, 08:29   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

та же проблема - то же решение
или скорее всего не совсем та - тогда другое решение....
больше наВанговать не могу
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не реагирует снифер megostudent Работа с сетью в Delphi 2 22.04.2012 16:59
Правильность и неправильность Marisabel' Microsoft Office Excel 2 21.03.2012 20:32
Не выводится изображение risc HTML и CSS 9 11.05.2010 15:16
Прошу проверить на неправильность.. CodeExpert Помощь студентам 0 20.12.2009 20:14