Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: image captcha
 
 автор: cccp   (24.02.2008 в 16:28)   письмо автору
 
 

Добрый день.
У меня есть один скрипт для добавления коментариев и отдельно скрипт для captcha.
Я хотел бы добавить дополнительно в скрипт для коментариев кодировку captcha.
Я мало разбираюсь, пытался сам сделать, но картинка была не видна, как будто указан не правлеьный путь к ней (хотя всё правельно).
Мог бы кто нибудь помочь соеденить эти 2 скрипта, пожалуста.
Зарание буду благодарен.

   
 
 автор: mihdan   (25.02.2008 в 12:49)   письмо автору
 
   для: cccp   (24.02.2008 в 16:28)
 

>кодировку captcha
что это значит?

http://captcha.ru

   
 
 автор: cccp   (25.02.2008 в 16:37)   письмо автору
 
   для: mihdan   (25.02.2008 в 12:49)
 

Да, эт это.

Я заметил, что поставив просто скрипт captcha на сервер (ничего не переделывая).
У меня картинка не показывается!
Может в скрипте ошибка, а я не вижу?


<?php

session_start
();

function 
genPWD ($int_min$int_max=0) {
    
mt_srand();
    if (
$int_max != 0$longueur mt_rand($int_max$int_min);
    else 
$longueur $int_min;

    
$mdp '';
    for(
$i=0$i<$longueur$i++){
        
$quoimt_rand(1,3);
        switch(
$quoi){
            case 
1$mdp .= mt_rand(0,9); break;
            case 
2$mdp .= chr(mt_rand(65,90)); break;
            case 
3$mdp .= chr(mt_rand(97,122)); break;
        }
    }
    return 
$mdp;
}

function 
generate_captcha()
{
    
putenv('GDFONTPATH=' realpath('.'));

    
$pwd = array();
    
$final = array();

    
mt_srand();
    for(
$i=0;$i<mt_rand(500,1000);$i++)
    {
        
$pwd[] = genPWD(6,8);
    }

    while(
count($final)<6)
    {
        
mt_srand();
        
$value mt_rand(0,count($pwd));
        if(!
in_array($pwd[$value],$final))
        {
            
$final[] = $pwd[$value];
        }
    }

    
mt_srand();
    
$nb mt_rand(0,5);
    
$texte 'Veuillez choisir ';
    
$texte2 'le code &#233;crit en rouge.';
    
$img imagecreate(220,150);
    
$bg imagecolorallocate($img,255,255,255);
    
$txt imagestring($img,5,10,10,$texte,imagecolorallocate($img,0,0,0));
    
$txt imagestring($img,5,10,23,$texte2,imagecolorallocate($img,0,0,0));
    
$i 0;    
    
$font 'kmkdspt';
    
    foreach(
$final as $key => $value)
    {
        if(
$key == $nb)
        {
            
$color imagecolorallocate($img,200,0,0);
            
$return $value;
        }
        else
        {
            
$color imagecolorallocate($img,0,0,0);
        }

        if( (
$i%2) == 0)
        {
            
$txt imagettftext($img,14,15,20,80+($i*13),$color,$font,$value);
        }
        else
        {
            
$txt imagettftext($img,14,15,110,80+(($i-1)*13),$color,$font,$value);
        }

        
$i++;
    }

    
imagepng($img);    
    return 
$return;
}

$_SESSION['code'] = generate_captcha();
?>

   
 
 автор: mihdan   (25.02.2008 в 18:48)   письмо автору
 
   для: cccp   (25.02.2008 в 16:37)
 

1. Нет это не ЭТО
2 header() где?

   
 
 автор: cccp   (25.02.2008 в 19:09)   письмо автору
 
   для: mihdan   (25.02.2008 в 18:48)
 

А что, надо?

   
 
 автор: enibeniraba   (26.02.2008 в 16:44)   письмо автору
 
   для: cccp   (25.02.2008 в 16:37)
 

А может шрифта нету?

   
 
 автор: cccp   (26.02.2008 в 19:40)   письмо автору
 
   для: enibeniraba   (26.02.2008 в 16:44)
 

В том-то и дело что есть
:(

   
 
 автор: Valick   (27.02.2008 в 09:40)   письмо автору
 
   для: cccp   (26.02.2008 в 19:40)
 

Где он есть? лично я его в коде не вижу, может не выспался...

   
 
 автор: cccp   (27.02.2008 в 10:50)   письмо автору
 
   для: Valick   (27.02.2008 в 09:40)
 

он у меня лежит в той же месте где и скрипт.
А файл такой : kmkdspt.ttf

   
 
 автор: Valick   (27.02.2008 в 10:58)   письмо автору
 
   для: cccp   (27.02.2008 в 10:50)
 

Незнаю такого шрифта, но это не важно, важно то что в коде должно быть:
 $font = 'kmkdspt.ttf';

если не ошибаюсь...

   
 
 автор: cccp   (27.02.2008 в 11:40)   письмо автору
 
   для: Valick   (27.02.2008 в 10:58)
 

Точно!
Я исправил, но всё равно не пашет.
:(

   
 
 автор: Valick   (27.02.2008 в 11:54)   письмо автору
 
   для: cccp   (27.02.2008 в 11:40)
 

ну например хедеров не вижу в коде...

   
 
 автор: Valick   (27.02.2008 в 12:04)   письмо автору
162.6 Кб
 
   для: cccp   (27.02.2008 в 11:40)
 

попробуйте другой код, что он будет выводить...

   
 
 автор: cccp   (27.02.2008 в 12:08)   письмо автору
 
   для: Valick   (27.02.2008 в 12:04)
 

А может это правда из-за header .
Куда его поставить надо?
Так?
imagepng($img);    
header("Content-Type: image/png");
return $return;

   
 
 автор: Valick   (27.02.2008 в 12:17)   письмо автору
 
   для: cccp   (27.02.2008 в 12:08)
 

нет перед выводом в браузер..

header("Content-Type: image/png"); 
imagepng($img);     
return $return; 

   
 
 автор: cccp   (27.02.2008 в 13:23)   письмо автору
 
   для: Valick   (27.02.2008 в 12:17)
 

Всё равно не пашет...
:(

PS: А попробуйте вы у себя, на своём браузере, плиз.

   
 
 автор: Valick   (27.02.2008 в 13:37)   письмо автору
 
   для: cccp   (27.02.2008 в 13:23)
 

а вот так?

header("Content-type: " .image_type_to_mime_type(IMAGETYPE_PNG));
imagepng($img);      
return $return;

у меня работает

   
 
 автор: cccp   (27.02.2008 в 13:41)   письмо автору
 
   для: Valick   (27.02.2008 в 13:37)
 

Да что же это такое?...
Всё равно не пашет!

Как так может быть что один скрипт работает, а другой нет?
Может что-то у меня в хостинге? Какие-то опции надо подключить?
Папка "sessions", у меня есть.
Может что ещё не хватает, чего один скрипт требует, а другой нет?

   
 
 автор: Уфимец   (28.02.2008 в 20:06)   письмо автору
 
   для: cccp   (27.02.2008 в 13:41)
 

Такая же трабла и у меня, в локале все хорошо а как на хостинг выложе картинка не отображается

   
 
 автор: mihdan   (29.02.2008 в 14:06)   письмо автору
 
   для: Уфимец   (28.02.2008 в 20:06)
 

Так мож gd на серваке просто тупо нет???

   
 
 автор: cccp   (02.03.2008 в 23:48)   письмо автору
 
   для: mihdan   (29.02.2008 в 14:06)
 

Простите если вам покажется глупым мой вопрос...
А что это такое "gb"?

   
 
 автор: Lstasss   (03.03.2008 в 01:47)   письмо автору
 
   для: cccp   (02.03.2008 в 23:48)
 

не gb а gd - Graphic Library - библиотека для работы с изображениями.
phpinfo() покажите.

   
 
 автор: Valick   (03.03.2008 в 09:04)   письмо автору
 
   для: Lstasss   (03.03.2008 в 01:47)
 

ДжиДи там скорее всего есть (т.к скрипт который я прикрепил работает), может там отсутствует работа именно с .png форматом?

   
 
 автор: cccp   (03.03.2008 в 12:46)   письмо автору
 
   для: Valick   (03.03.2008 в 09:04)
 

gd
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

   
 
 автор: cccp   (04.03.2008 в 17:28)   письмо автору
 
   для: cccp   (03.03.2008 в 12:46)
 

Ребята, но в чём же тогда может быть проблема?

   
 
 автор: Valick   (04.03.2008 в 17:48)   письмо автору
 
   для: cccp   (04.03.2008 в 17:28)
 

Знали бы, уже давно с вами поделились))

   
 
 автор: cccp   (04.03.2008 в 17:53)   письмо автору
 
   для: Valick   (04.03.2008 в 17:48)
 

Понятно.
Ну спасибо и на этом.

   
 
 автор: cccp   (04.03.2008 в 22:49)   письмо автору
 
   для: cccp   (04.03.2008 в 17:53)
 

Ребята, у меня такая ошибка вылазиет:

Warning: imagettftext() [function.imagettftext]: Could not find/open font in captcha.php on line 70

Warning: imagettftext() [function.imagettftext]: Could not find/open font in captcha.php on line 74


Что это значит?

   
 
 автор: mihdan   (05.03.2008 в 10:02)   письмо автору
 
   для: cccp   (04.03.2008 в 22:49)
 

Не может найти шрифт

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования