Перейти к содержанию
edytor

"Ручная" регистрация пользователя

Рекомендуемые сообщения

Добрый день! Прошу оказать возможную помощь. Задача такова, необходимо зарегистрировать автоматически при заказе пользователя. Сам процесс заказа (в виду необходимости и требований заказчика) не соблюдает MVC архитектуру, он был написан не ведомо кем  и когда, на сайте заказчика который сейчас перенесён на опенкарт. Есть форма, есть её обработчик (всё это дело лежит в корне сайта, в папке)...в обработчике формируется pdf документ заказа (договора) и отправляется на почту клиента и админа. Вот на этом шаге и необходимо зарегать пользователя, да есть массив $_POST со всеми необходимыми переменными, из функции регистрации пользователя (из файла модели опенкарт) я вытянул необходимый мне запрос (и заполнил все необходимые мне значения):

$query = ("INSERT INTO customer SET store_id = '0', firstname = '" . $_POST['person'] . "', lastname = '" . $_POST['firma'] . "', email = '" . $_POST['email'] . "', telephone = '" . $_POST['phone'] . "', fax = '', salt = '" . $salt = substr(md5(uniqid(rand(), true)), 0, 9) . "', password = '" . sha1($salt . sha1($salt . sha1($_POST['password']))) . "', newsletter = '0', customer_group_id = '1', ip = '0', status = '1', approved = '1', date_added = NOW()");

запрос успешно сработал и пользователь добавлен в БД (хотя пока нет проверки на уже существование такого пользователя по мылу), но при попытке залогинется под созданным польз. выдаёться ошибка о несоответствии полей (скорее всего пароля).  Вот тут и вопрос как правильно зашифровать пароль (как обычно это делает опенкарт) "не наследуя функций из системы" ?

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


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

Посмотрите файл "catalog/model/account/customer.php", там в функции addCustomer есть данные для генерации соли и пароля.

в ocStore 1.5.4.1, например, выглядит вот так:

query("salt = '" . $salt = substr(md5(uniqid(rand(), true)), 0, 9) . "', password = '" . sha1($salt . sha1($salt . sha1($data['password']))));

Еще в поисках истины Вам может помочь файл "system/library/customer.php" (функция login).

Изменено пользователем halfhope

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.