Moses

Проблема с подтверждением регистрации

Recommended Posts

Доброго времени суток!

У меня возникла такая проблема: пользователь регистрируется на сайте и ему на почту приходит письмо с подтверждением регистрации и ссылка для активации.
Само письмо приходит но вместо ссылки активации идет ссылка на почтовый адрес этого пользователя:
Здравствуйте.
Вы зарегистрировали аккаунт на нашем сайте.
Для активации аккаунта перейдите по ссылке: ma....d@yandex.ru

Естественно пользователь не может пройти активацию и подать объявление.

 

Подскажите куда копать????

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня сейчас такая же ситуация

Приходит сообщение без ссылки на активацию , вместо ссылки показывает логин

Здравствуйте.

Вы зарегистрировали аккаунт на нашем сайте.

Для активации аккаунта перейдите по ссылке: realtor

я то думал , почему пользователи красным идут в таблице user в админке и не активируются .

поэтому задавал вопрос на форуме, получают ли пользователи сообщения о активации , когда активирует админ

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть кто живой ?

Подскажите ...

В 08.05.2019 в 21:12, Realtor сказал:

У меня сейчас такая же ситуация

Приходит сообщение без ссылки на активацию , вместо ссылки показывает логин

Здравствуйте.

Вы зарегистрировали аккаунт на нашем сайте.

Для активации аккаунта перейдите по ссылке: realtor

я то думал , почему пользователи красным идут в таблице user в админке и не активируются .

поэтому задавал вопрос на форуме, получают ли пользователи сообщения о активации , когда активирует админ

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 10.05.2019 в 20:51, Realtor сказал:

Есть кто живой ?

Подскажите ...

 

Решили это уже в обновлениях.

Посмотрите тут

\apps\system\lib\system\user\register_using_model.php

Начиная со строчки 853

Есть такой код

                if (1 == $this->getConfigValue('use_registration_email_confirm')) {
                    $DBC = DBC::getInstance();
                    $activation_code = md5(time() . '_' . rand(100, 999));
                    $query = 'UPDATE ' . DB_PREFIX . '_user SET pass=? WHERE user_id=?';
                    $stmt = $DBC->query($query, array($activation_code, $new_user_id));
                    $activation_link = '<a href="http://' . $_SERVER['HTTP_HOST'] . SITEBILL_MAIN_URL . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email . '">http://' . $_SERVER['HTTP_HOST'] . SITEBILL_MAIN_URL . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email . '</a>';

                    $tpl = SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/system/template/mails/user_registration_conf.tpl';
                    global $smarty;
                    $smarty->assign('mail_activation_link', $this->getServerFullUrl() . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email);
                    $smarty->assign('mail_server', $this->getServerFullUrl());
                    $smarty->assign('mail_current_language', Multilanguage::get_current_language());

                    if (file_exists($tpl)) {
                        global $smarty;
                        $smarty->assign('mail_login', $login);
                        $smarty->assign('mail_password', $password);
                        $smarty->assign('mail_activation_link', $this->getServerFullUrl() . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email);
                        $smarty->assign('mail_server', $this->getServerFullUrl());
                        $smarty->assign('mail_current_language', Multilanguage::get_current_language());
                        $message = $smarty->fetch($tpl);
                    } else {
                        $message = sprintf(Multilanguage::_('NEW_REG_EMAILACCEPT_BODY', 'system'), $activation_link);
                    }

                    if (Multilanguage::is_set('LT_NEW_REG_EMAILACCEPT_TITLE', '_template')) {
                        $subject = sprintf(Multilanguage::_('LT_NEW_REG_EMAILACCEPT_TITLE', '_template'), $_SERVER['HTTP_HOST']);
                    } else {
                        $subject = sprintf(Multilanguage::_('NEW_REG_EMAILACCEPT_TITLE', 'system'), $_SERVER['HTTP_HOST']);
                    }


                    $to = $email;
                    $from = $this->getConfigValue('system_email');

                    $email_template_fetched = $this->fetch_email_template('registration_email_confirm');

                    if ($email_template_fetched) {
                        $subject = $email_template_fetched['subject'];
                        $message = $email_template_fetched['message'];

                        $message_array['apps_name'] = 'register_using_model';
                        $message_array['method'] = __METHOD__;
                        $message_array['message'] = "subject = $subject, message = $message";
                        $message_array['type'] = '';
                        //$this->writeLog($message_array);
                    }

                    $this->sendFirmMail($to, $from, $subject, $message);
                    $query = 'DELETE FROM ' . DB_PREFIX . '_cache WHERE parameter=?';
                    $stmt = $DBC->query($query, array($activation_code));
                    $query = "insert into " . DB_PREFIX . "_cache (`parameter`, `value`) values (?, ?)";
                    $stmt = $DBC->query($query, array($activation_code, $password));

                    if (Multilanguage::is_set('LT_REGISTER_SUCCESS', '_template')) {
                        $rs = '<h3>' . Multilanguage::_('LT_REGISTER_SUCCESS', '_template') . '</h3><br>';
                    } else {
                        $rs = '<h3>' . Multilanguage::_('REGISTER_SUCCESS', 'system') . '</h3><br>';
                    }
                    if ($form_data[$this->table_name]['active']['value'] != 1) {
                        if (Multilanguage::is_set('LT_ACTIVATION_CODE_SENT', '_template')) {
                            $rs .= Multilanguage::_('LT_ACTIVATION_CODE_SENT', '_template');
                        } else {
                            $rs .= Multilanguage::_('ACTIVATION_CODE_SENT', 'system');
                        }
                    }
                    if ($json_mode) {
                        return json_encode(array('result' => 1, 'subres' => 'email_confirm', 'msg' => $rs));
                    }
                    return $rs;
                }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15 часов назад, rumantic сказал:

Решили это уже в обновлениях.

Посмотрите тут

\apps\system\lib\system\user\register_using_model.php

Начиная со строчки 853

Есть такой код


                if (1 == $this->getConfigValue('use_registration_email_confirm')) {
                    $DBC = DBC::getInstance();
                    $activation_code = md5(time() . '_' . rand(100, 999));
                    $query = 'UPDATE ' . DB_PREFIX . '_user SET pass=? WHERE user_id=?';
                    $stmt = $DBC->query($query, array($activation_code, $new_user_id));
                    $activation_link = '<a href="http://' . $_SERVER['HTTP_HOST'] . SITEBILL_MAIN_URL . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email . '">http://' . $_SERVER['HTTP_HOST'] . SITEBILL_MAIN_URL . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email . '</a>';

                    $tpl = SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/system/template/mails/user_registration_conf.tpl';
                    global $smarty;
                    $smarty->assign('mail_activation_link', $this->getServerFullUrl() . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email);
                    $smarty->assign('mail_server', $this->getServerFullUrl());
                    $smarty->assign('mail_current_language', Multilanguage::get_current_language());

                    if (file_exists($tpl)) {
                        global $smarty;
                        $smarty->assign('mail_login', $login);
                        $smarty->assign('mail_password', $password);
                        $smarty->assign('mail_activation_link', $this->getServerFullUrl() . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email);
                        $smarty->assign('mail_server', $this->getServerFullUrl());
                        $smarty->assign('mail_current_language', Multilanguage::get_current_language());
                        $message = $smarty->fetch($tpl);
                    } else {
                        $message = sprintf(Multilanguage::_('NEW_REG_EMAILACCEPT_BODY', 'system'), $activation_link);
                    }

                    if (Multilanguage::is_set('LT_NEW_REG_EMAILACCEPT_TITLE', '_template')) {
                        $subject = sprintf(Multilanguage::_('LT_NEW_REG_EMAILACCEPT_TITLE', '_template'), $_SERVER['HTTP_HOST']);
                    } else {
                        $subject = sprintf(Multilanguage::_('NEW_REG_EMAILACCEPT_TITLE', 'system'), $_SERVER['HTTP_HOST']);
                    }


                    $to = $email;
                    $from = $this->getConfigValue('system_email');

                    $email_template_fetched = $this->fetch_email_template('registration_email_confirm');

                    if ($email_template_fetched) {
                        $subject = $email_template_fetched['subject'];
                        $message = $email_template_fetched['message'];

                        $message_array['apps_name'] = 'register_using_model';
                        $message_array['method'] = __METHOD__;
                        $message_array['message'] = "subject = $subject, message = $message";
                        $message_array['type'] = '';
                        //$this->writeLog($message_array);
                    }

                    $this->sendFirmMail($to, $from, $subject, $message);
                    $query = 'DELETE FROM ' . DB_PREFIX . '_cache WHERE parameter=?';
                    $stmt = $DBC->query($query, array($activation_code));
                    $query = "insert into " . DB_PREFIX . "_cache (`parameter`, `value`) values (?, ?)";
                    $stmt = $DBC->query($query, array($activation_code, $password));

                    if (Multilanguage::is_set('LT_REGISTER_SUCCESS', '_template')) {
                        $rs = '<h3>' . Multilanguage::_('LT_REGISTER_SUCCESS', '_template') . '</h3><br>';
                    } else {
                        $rs = '<h3>' . Multilanguage::_('REGISTER_SUCCESS', 'system') . '</h3><br>';
                    }
                    if ($form_data[$this->table_name]['active']['value'] != 1) {
                        if (Multilanguage::is_set('LT_ACTIVATION_CODE_SENT', '_template')) {
                            $rs .= Multilanguage::_('LT_ACTIVATION_CODE_SENT', '_template');
                        } else {
                            $rs .= Multilanguage::_('ACTIVATION_CODE_SENT', 'system');
                        }
                    }
                    if ($json_mode) {
                        return json_encode(array('result' => 1, 'subres' => 'email_confirm', 'msg' => $rs));
                    }
                    return $rs;
                }

 

Посмотрел, есть такой текст и?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, Realtor сказал:

Посмотрел, есть такой текст и?

Если у вас все такое, значит проблема не в системе, а у вас в настройках где-то.

Надо на месте разбираться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, rumantic сказал:

Если у вас все такое, значит проблема не в системе, а у вас в настройках где-то.

Надо на месте разбираться.

Подскажите , в каких настройках?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, rumantic сказал:

Если у вас все такое, значит проблема не в системе, а у вас в настройках где-то.

Надо на месте разбираться.

Благодарю, заработало

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Taras001
      Добрый день. Решили разрешить на сайте регистрацию пользователей. Столкнулся с такой проблемой. При попытке регистрации не видно полей с паролем и подтверждением пароля. Я так понимаю из-за этого появляются сообщения Не заполнено поле "" Подскажите куда копать? 
      В формах они включены. 
       


    • Автор: metrpro
      Есть сайт.
      Стоит задача ввести возможность указания группы пользователя при регистрации. В настройках все указано:

       
      В редакторе форм в таблице user поле group указано как обязательное:

       
      Кэш вычищен. Но в форме регистрации все равно это поле Group упорно не появляется!

       
      Вопрос - почему?
      И второй - если оно не указывается само, можно ли его указать принудительно (попутно сменив label с автоматического названия поля на какое-то другое типа "I'am...")?
    • Автор: mavleds
      Как решить проблему, при подтверждении регистрации по email выводится ошибка 500
      при этом если обновить страницу то сайт загружается и учетка становится подтвержденной
      сервер apache2+nginx
    • Автор: Dim42
      Доброго времени суток. 
      Шаблон "Agency"
      Подскажите, в чем может быть проблема, куда копать.
      При регистрации пользователя выдает ошибку "Такой email уже зарегистрирован"
      Хотя при этом пишет что письмо отправлено. При этом все работает отлично. Письма приходят, активация проходит.

       
      А если email действительно уже зарегистрирован, то выдает эту же ошибку но в две строчки, вот так:
       

       
      Все это только во всплывающем окне авторизации.
      Через /register/ все в порядке, никаких ошибок.