[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с CAPTCHA
maximka787
Привет всем. Вчера скачал официальную русскую капчу с сайта CAPTCHA.ru и агрузил на сервер. Скажите пожалуйста как соединить файлы
form_example.php и index.php

form_example.php работает так как надо!!!, но без файла index.php перестает, хотя связи никакой. Я читал что не только у меня такие проблемы и решают их как-то заголовками. Не поможете?



Спустя 58 минут, 45 секунд (23.08.2010 - 13:15) phpdreamer написал(а):
что-то я не нашел там "официальную русскую капчу" на CAPTCHA.ru
давай сюда код обоих файлов

Спустя 40 минут, 26 секунд (23.08.2010 - 13:55) maximka787 написал(а):
http://www.captcha.ru/kcaptcha.zip

вот тут исходник, там 4 файла и большие. На счет официальной, то это я слышал где-то что ребята сделали очень удачный и очень популярный код.

Спустя 6 минут, 57 секунд (23.08.2010 - 14:02) phpdreamer написал(а):
Вариант 1:
переименовать index.php в captcha.php (к примеру)
и в form_example.php поменять action соответственно:
<form action="captcha.php" method="post">


Вариант 2:
засунуть код из index в свой index в самое начало
include('kcaptcha.php');
if(isset($_REQUEST[session_name()])){
session_start();
}
$captcha = new KCAPTCHA();
if($_REQUEST[session_name()]){
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
}

Спустя 7 минут, 2 секунды (23.08.2010 - 14:09) maximka787 написал(а):
Спасибо, протестирую.

Спустя 31 минута, 42 секунды (23.08.2010 - 14:41) maximka787 написал(а):
<?
include('kcaptcha.php');
if(isset($_REQUEST[session_name()])){
session_start();
}
$captcha = new KCAPTCHA();
if($_REQUEST[session_name()]){
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
}
echo 'Test';

?>
это полностью весь файл.

хотя нет, вот такой код не работает
1) надпись ТЕСТ не видна
2) я не вижу куда писать действие
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] 

Спустя 5 минут, 42 секунды (23.08.2010 - 14:46) maximka787 написал(а):
<?
session_start();
include('kcaptcha.php');

if(isset($_REQUEST[session_name()])){
session_start();
}
$captcha = new KCAPTCHA();
if($_REQUEST[session_name()]){
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
}
?>
<form action="./" method="post">
<
p><img src="PATH-TO-THIS-SCRIPT?<? echo session_name()?>=<? echo session_id()?>"></p>
<
p><input type="text" name="keystring"></p>
<
p><input type="submit" value="Check"></p>
</
form>
<?
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
echo "Correct";
}else{
echo "Wrong";
}
}

unset($_SESSION['captcha_keystring']);
?>


я создал файл new.php и вот его листинг.
Капча появляется теперь, но форма ввода нет.

-----------------------------
Если написать приведенный ниже код после unset то проблема с заголовками и непонятные символы появляются.

if(isset($_REQUEST[session_name()])){
session_start();
}
$captcha = new KCAPTCHA();
if($_REQUEST[session_name()]){
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
}

Спустя 1 час, 1 минута, 46 секунд (23.08.2010 - 15:48) phpdreamer написал(а):
Цитата (maximka787 @ 23.08.2010 - 11:41)
<?
include('kcaptcha.php');
if(isset($_REQUEST[session_name()])){
session_start();
}
$captcha = new KCAPTCHA();
if($_REQUEST[session_name()]){
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
}
echo 'Test';

?>
это полностью весь файл.

хотя нет, вот такой код не работает
1) надпись ТЕСТ не видна
2) я не вижу куда писать действие
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] 

этот код создает и выводит в браузер изображение. Никакого вывода после него быть не может! и советую убрать ?> чтоб не испортить вывод картинки.
А форма и проверка формы - должна быть как в примере example в другом файле.

2) я не правильно подсказал... нужно не action править, а
 src="./?<?php echo session_name()?>
вместо ./ адрес к файлу капчи (код которого в цитате)

Спустя 38 минут (23.08.2010 - 16:26) maximka787 написал(а):
ОО, спасибо друг. Теперь понятно. Не могут сразу сделать, чтоб работало))!!


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.