Автор Тема: Обратная связь + KCAPTCHA  (Прочитано 22355 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Alehandr

  • Гость
Обратная связь + KCAPTCHA
« : 02 октября 2009, 07:57:50 »
качаем каптчу с сайта http://www.captcha.ru/
1) заливаем содержимое в папку модуля
2) в фаиле feedback.class.php
строки
$message = preg_replace('/\%[a-zA-Z0-9]+\%/', '[#feedback_property_field_no#]', $message);
$message = preg_replace('/\&[a-zA-Z0-9]+\&/', '[#feedback_property_field_yes#]', $message);
$message = $kernel->priv_page_textlabels_replace($message);
$sended = @$kernel->pub_mail(array($email), array($name), 'noreply@'.$_SERVER['HTTP_HOST'], 'Module: FeedBack', $theme, $message);
миняем на
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring'])
{
$message = str_replace(array_map(array('feedback', 'array_map_marks'), array_keys($input_values)), $input_values, $message);
$message = preg_replace('/\%[a-zA-Z0-9]+\%/', '[#feedback_property_field_no#]', $message);
$message = preg_replace('/\&[a-zA-Z0-9]+\&/', '[#feedback_property_field_yes#]', $message);
$message = $kernel->priv_page_textlabels_replace($message);
$sended = @$kernel->pub_mail(array($email), array($name), 'noreply@'.$_SERVER['HTTP_HOST'], 'Module: FeedBack', $theme, $message);
}
else
{
$kernel->pub_redirect_refresh_global('/'.$kernel->pub_page_current_get().'.html?'.$this->get_action_name().'=cod_fail');
}
}
добовляем сообщение
// Выведем собщение об успешной отправке данных
case 'processing_succses':
$content = $this->get_template_block('processing_succses');
break;

// Выведем собщение невозможности отправки
case 'processing_fail':
$content = $this->get_template_block('processing_fail');
break;
// Выведем собщение о неверном коде защиты
case 'cod_fail':
$content = $this->get_template_block('cod_fail');
break;

3) в админке модуля создаем новое поле keystring генерируем шаблон
4)ну и редактируем сам шаблон,
добовляем сообщение об ошибке
<!-- @cod_fail -->
Неверно указан код защиты от спама.
ставим в нужном месте картинку каптчи
<img src="modules/feedback/index.php">и самое главное не забыть поменять
<input id="keystring" type="text" name="values[keystring]" />на
<input id="keystring" type="text" name="keystring" />
схема наверника нуждается в доработке но время поджимает

Оффлайн Roman

  • Старый лис
  • *****
  • Сообщений: 518
  • Авторитет: -142
  • Пол: Мужской
  • "Полож птичку!.." (С)
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #1 : 01 ноября 2009, 16:49:39 »
работает, спасибочки

Оффлайн Roman

  • Старый лис
  • *****
  • Сообщений: 518
  • Авторитет: -142
  • Пол: Мужской
  • "Полож птичку!.." (С)
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #2 : 01 ноября 2009, 16:50:20 »
есть еще вариант http://dimoning.ru/kapcha-obyichno-kartinochnaya.html#comments , на ваш красивее

Оффлайн ermy

  • The sign above my avatar
  • Опытный лис
  • ****
  • Сообщений: 323
  • Авторитет: 15
  • Пол: Мужской
  • The sign below my avatar
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #3 : 30 декабря 2009, 00:13:43 »
Не хочет работать(
Сделал все по инструкции.
Шаблон с id=keystring создал, все Ок.
Папку с капчей (скажем под названием captch) кладу в modules/feedback
Вставляю код картинки <img src="modules/feedback/captch/index.php" /> в шаблон формы обратной связи
...
            <td><label for="keystring">Капча</label></td>
            <td><img src="modules/feedback/kcaptcha/index.php" /></td>
            <td><input id="keystring" type="text" name="keystring" /></td>
...
картинка капчи не видна(

Параллельный вопрос:

// Выведем собщение об успешной отправке данных
case 'processing_succses':
$content = $this->get_template_block('processing_succses');
break;

// Выведем собщение невозможности отправки
case 'processing_fail':
$content = $this->get_template_block('processing_fail');
break;
// Выведем собщение о неверном коде защиты
case 'cod_fail':
$content = $this->get_template_block('cod_fail');
break;
добавляем сразу после
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring'])
{
$message = str_replace(array_map(array('feedback', 'array_map_marks'), array_keys($input_values)), $input_values, $message);
$message = preg_replace('/\%[a-zA-Z0-9]+\%/', '[#feedback_property_field_no#]', $message);
$message = preg_replace('/\&[a-zA-Z0-9]+\&/', '[#feedback_property_field_yes#]', $message);
$message = $kernel->priv_page_textlabels_replace($message);
$sended = @$kernel->pub_mail(array($email), array($name), 'noreply@'.$_SERVER['HTTP_HOST'], 'Module: FeedBack', $theme, $message);
}
else
{
$kernel->pub_redirect_refresh_global('/'.$kernel->pub_page_current_get().'.html?'.$this->get_action_name().'=cod_fail');
}
}
в feedback.class.php или куда?

Оффлайн Roman

  • Старый лис
  • *****
  • Сообщений: 518
  • Авторитет: -142
  • Пол: Мужской
  • "Полож птичку!.." (С)
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #4 : 31 декабря 2009, 09:26:25 »
2) в фаиле feedback.class.php
строки

именно туда

Оффлайн ermy

  • The sign above my avatar
  • Опытный лис
  • ****
  • Сообщений: 323
  • Авторитет: 15
  • Пол: Мужской
  • The sign below my avatar
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #5 : 02 января 2010, 12:17:02 »
Так и сделал. Капча не заработала (

Оффлайн Roman

  • Старый лис
  • *****
  • Сообщений: 518
  • Авторитет: -142
  • Пол: Мужской
  • "Полож птичку!.." (С)
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #6 : 02 января 2010, 12:52:55 »
в файле feedback.class.php заменили все как указано? попробуйте занова сделать

Оффлайн ermy

  • The sign above my avatar
  • Опытный лис
  • ****
  • Сообщений: 323
  • Авторитет: 15
  • Пол: Мужской
  • The sign below my avatar
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #7 : 02 января 2010, 12:55:10 »
Все четко по инструкции.

Alehandr

  • Гость
Re: Обратная связь + KCAPTCHA
« Ответ #8 : 11 января 2010, 14:22:33 »
Не хочет работать(
Сделал все по инструкции.
Шаблон с id=keystring создал, все Ок.
Папку с капчей (скажем под названием captch) кладу в modules/feedback
Вставляю код картинки
<img src="modules/feedback/captch/index.php" /> <td><img src="modules/feedback/kcaptcha/index.php" /></td>картинка капчи не видна(
а тут вас не чего не смущяет? (нужное выделено)
для проверки перейдите по ссылке http://ваш_сайт/modules/feedback/captch/index.php должна появится картинка если нет то еще раз все проверьте
« Последнее редактирование: 11 января 2010, 14:28:07 от Alehandr »

fish@n

  • Гость
Re: Обратная связь + KCAPTCHA
« Ответ #9 : 30 сентября 2011, 09:47:52 »
Люди, а может кто-нибудь скинуть готовый модуль обратной связи + KCAPTCHA.

Оффлайн allmight

  • Молодой лис
  • **
  • Сообщений: 56
  • Авторитет: 1
  • Пол: Мужской
  • Allmight
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #10 : 28 мая 2012, 16:45:36 »
Спасибо, работает классно!

Только ошибка от капчи выводится на новой странице, может есть вариант, чтобы в том же окне?

genson

  • Гость
Re: Обратная связь + KCAPTCHA
« Ответ #11 : 22 мая 2013, 11:58:20 »
Спасибо, всё работает!

Оффлайн keyzer

  • Местный лис
  • ***
  • Сообщений: 104
  • Авторитет: 2
  • Пол: Мужской
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #12 : 30 октября 2018, 15:49:04 »
Капча работает, но появляются ошибки
INFO: Methods with the same name as their class will not be constructors in a future version of PHP; PhpCaptcha has a deprecated constructor in /home/v/site/folder/public_html/components/captcha/php-captcha.inc.php on line 72
INFO: Methods with the same name as their class will not be constructors in a future version of PHP; AudioPhpCaptcha has a deprecated constructor in /home/v/site/folder/public_html/components/captcha/php-captcha.inc.php on line 408
INFO: Methods with the same name as their class will not be constructors in a future version of PHP; PhpCaptchaColour has a deprecated constructor in /home/v/site/folder/public_html/components/captcha/php-captcha.inc.php on line 482
Как от них избавиться?


Оффлайн Dmitry123

  • Старый лис
  • *****
  • Сообщений: 508
  • Авторитет: 31
  • Пол: Мужской
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #13 : 31 октября 2018, 02:45:22 »
В файле .htaccess
php_flag display_startup_errors off

Оффлайн keyzer

  • Местный лис
  • ***
  • Сообщений: 104
  • Авторитет: 2
  • Пол: Мужской
    • Просмотр профиля
Re: Обратная связь + KCAPTCHA
« Ответ #14 : 31 октября 2018, 06:48:03 »
В файле .htaccess
php_flag display_startup_errors off
Через .htaccess не помогло. Зато если подредактировать в ini.php строчку define("SHOW_INT_ERRORE_MESSAGE", false);
то проблема исчезает.