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

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


Recommended Posts

Добрый день! Прошу оказать возможную помощь. Задача такова, необходимо зарегистрировать автоматически при заказе пользователя. Сам процесс заказа (в виду необходимости и требований заказчика) не соблюдает 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 користувачів

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

Important Information

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