Strict Standards: Resource ID#32 used as offset, casting to integer (32) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Проблемы с капчей
ТвойWeb » WebMaster класс » PHP/Perl » Проблемы с капчей

Страниц (1): [1]
 

1. scar - 19 Августа, 2008 - 11:11:00 - перейти к сообщению
Проблемы с кодом.
Картинку открывает, а вот таблицу и весь остальной HTML-код игнорирует.
CODE:
function capcha(){
$capchBack=imagecreatefromjpeg('./admin/images/capcha.jpg');
$capcha=rand(100000,999999);

$black=imagecolorallocate($capchBack,12,15,36);

imagestring($capchBack,10,10,3,$capcha,$black);

header("Content-type: image/jpeg");
return imagejpeg($capchBack);
}
echo "<table border=3><tr><td>Секретный код: </td><td>capcha()</td></tr></table>";


Как заставить функцию работать с HTML?
Заранее спасибо!
2. Furax - 19 Августа, 2008 - 11:20:21 - перейти к сообщению
scar
Формирование картинки и вывод таблицы - 2 разные задачи, хотя бы потому, что браузер по отдельности обращается к серверу за тем и другим. Поэтому на той странице, куда надо вставить капчу, напиши:
CODE:
<table border=3><tr><td>Секретный код: </td><td><img src="capcha.php"></td></tr></table>
А в файле capcha.php уже вызывай свою функцию capcha(), убрав всё, что после неё...
3. scar - 19 Августа, 2008 - 11:24:24 - перейти к сообщению
А как тогда можно достать из файла capcha.php переменную $capcha ? Однако
4. scar - 19 Августа, 2008 - 11:33:40 - перейти к сообщению
Не работает Огорчение
Создал файл capcha.php написал код:
CODE:
function capcha(){
$capchBack=imagecreatefromjpeg('./admin/images/capcha.jpg');
$capcha=rand(100000,999999);

$black=imagecolorallocate($capchBack,12,15,36);

imagestring($capchBack,10,10,3,$capcha,$black);

header("Content-type: image/jpeg");
return imagejpeg($capchBack);
}

Создал файл index.php, напечатал:
CODE:
echo "<table border=3><tr><td>Секретный код: </td><td><img src=\"capcha.php\"></td></tr></table>";

Не открывает картинку.
//==============
Изменил в файл capcha.php код на:
CODE:

$capchBack=imagecreatefromjpeg('./admin/images/capcha.jpg');
$capcha=rand(100000,999999);

$black=imagecolorallocate($capchBack,12,15,36);

imagestring($capchBack,10,10,3,$capcha,$black);

header("Content-type: image/jpeg");
imagejpeg($capchBack);

Игнорирует HTML.
5. Furax - 19 Августа, 2008 - 23:12:53 - перейти к сообщению
Что значит "Игнорирует HTML"? В том файле, который генерит картинку-капчу, HTML вообще не должно быть.
6. Davinchi - 22 Августа, 2008 - 05:51:51 - перейти к сообщению
scar у меня в твоей капче картинку не открывает, почему так и не понял.
А без внешней картинки не подойдет?
7. awep - 01 Сентября, 2008 - 14:06:24 - перейти к сообщению
Чото вы друг друга путаете. Делаем так:
1. Файл index.html или вообще какой нада:
CODE:
<table border="3"><tr><td>Секретный код: </td><td><img src="capcha.php"></td></tr></table>
2. Файл capcha.php:
CODE:
<?php
session_start();
$capchBack=imagecreatefromjpeg('./admin/images/capcha.jpg');
$capcha=rand(100000,999999);

$black=imagecolorallocate($capchBack,12,15,36);

imagestring($capchBack,10,10,3,$capcha,$black);

$_SESSION['capcha'] = $capcha;

header("Content-type: image/jpeg");
imagejpeg($capchBack);
imagedestroy($capchBack);
?>
3. В файле, куда отсылается форма (я так понимаю, для этого капчу и делаете), включаете сессии и получаете $_SESSION['capcha']

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0381]     [ Gzipped ]