Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

помогите подправить код чтобы капча не пропадала


Recommended Posts

<file name="catalog/controller/account/register.php">
        <operation error="log">
            <search position="after" offset="4"><![CDATA[$this->data['action'] = $this->url->link('account/register', '', 'SSL');]]></search>
            <add><![CDATA[
            if ($this->config->get('config_google_captcha_status')) {
            $this->document->addScript('https://www.google.com/recaptcha/api.js');

            $this->data['site_key'] = $this->config->get('config_google_captcha_public');
            } else {
                $this->data['site_key'] = '';
            }
            ]]></add>
        </operation>
        <operation error="log">
            <search position="after" offset="2"><![CDATA[if ($this->request->post['confirm'] != $this->request->post['password']) {
              $this->error['confirm'] = $this->language->get('error_confirm');
        }]]></search>
            <add><![CDATA[
            if ($this->config->get('config_google_captcha_status')) {
                $recaptcha = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($this->config->get('config_google_captcha_secret')) . '&response=' . $this->request->post['g-recaptcha-response'] . '&remoteip=' . $this->request->server['REMOTE_ADDR']);

                $recaptcha = json_decode($recaptcha, true);

                if (!$recaptcha['success']) {
                    $this->error['captcha'] = $this->language->get('error_captcha');
                }
            }
            ]]></add>
            </operation>
    </file>
    <file name="catalog/view/theme/*/template/account/register.tpl">
        <operation error="log">
            <search position="before"><![CDATA[<h2><?php echo $text_newsletter; ?></h2>]]></search>
            <add><![CDATA[
            <?php if ($site_key) { ?>
    <div class="g-recaptcha" data-sitekey="<?php echo $site_key; ?>"></div>
<?php } ?>
    </b>]]></add>
    </operation>
    </file>

вот код капчи при регистрации, ну если поля не заполнять не каких нажать в регистрации далее, то капча пропадает и пишет ошибку Notice: Undefined variable: site_key in /vqmod/vqcache/vq2-catalog_view_theme_univer_template_account_register.tpl on line 159

Змінено користувачем 26rus
Надіслати
Поділитися на інших сайтах


видимо не добавляется в контроллер код

            if ($this->config->get('config_google_captcha_status')) {
            $this->document->addScript('https://www.google.com/recaptcha/api.js');

            $this->data['site_key'] = $this->config->get('config_google_captcha_public');
            } else {
                $this->data['site_key'] = '';
            }

параметр offset скорее не нужен

Надіслати
Поділитися на інших сайтах

12 часов назад, Blast сказал:

видимо не добавляется в контроллер код


            if ($this->config->get('config_google_captcha_status')) {
            $this->document->addScript('https://www.google.com/recaptcha/api.js');

            $this->data['site_key'] = $this->config->get('config_google_captcha_public');
            } else {
                $this->data['site_key'] = '';
            }

параметр offset скорее не нужен

убрал 

offset="4"

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

Надіслати
Поділитися на інших сайтах


2 часа назад, 26rus сказал:

убрал 


offset="4"

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

ну второе изменение в контроллере тоже скорее всего не применяется. так попробуйте

<search position="before"><![CDATA[if ($this->request->post['confirm'] != $this->request->post['password']) {]]></search>
Надіслати
Поділитися на інших сайтах

22 минуты назад, Blast сказал:

ну второе изменение в контроллере тоже скорее всего не применяется. так попробуйте


<search position="before"><![CDATA[if ($this->request->post['confirm'] != $this->request->post['password']) {]]></search>

неа, 0 реакции :(

Надіслати
Поділитися на інших сайтах


3 часа назад, Blast сказал:

ну второе изменение в контроллере тоже скорее всего не применяется. так попробуйте


<search position="before"><![CDATA[if ($this->request->post['confirm'] != $this->request->post['password']) {]]></search>

есть еще варианты??? чтобы капча была обязательно в регистрации ???

Надіслати
Поділитися на інших сайтах


1 час назад, 26rus сказал:

есть еще варианты??? чтобы капча была обязательно в регистрации ???

смотрите в папке vqcache что в итоге получилось с этим файлом, применились ли изменения, делать отладку

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.