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

Подписка на рассылку и регистрация ЛК


Recommended Posts

Добрый вечер! Сделал модуль подписка на рассылку - текстовое поле для ввода e-mail и кнопка "Подписаться". 

При нажатии на кнопку происходит проверка e-mail заказчика, если такого заказчика нет, то добавляется в базу новый покупатель, генерируется пароль из 8 символов, записывается в базу и на почту покупателю отправляется пароль от ЛК.

 

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

   $passgen = generatePassword(8); // генерация пароля из 8 символов
			if($this->db->query("INSERT INTO " . DB_PREFIX . "customer SET customer_group_id = 1, email = '".$data['email']."', status = 1, approved = 1, salt = '".$salt = token(9)."', password = '".sha1($salt . sha1($salt . sha1($passgen)))."', newsletter = 1, date_added = NOW()"))
			{
			        $mail = new Mail();
				$mail->protocol = $this->config->get('config_mail_protocol');
				$mail->parameter = $this->config->get('config_mail_parameter');
				$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
				$mail->smtp_username = $this->config->get('config_mail_smtp_username');
				$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
				$mail->smtp_port = $this->config->get('config_mail_smtp_port');
				$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

				$mail->setTo($data['email']);
				$mail->setFrom($this->config->get('config_email'));
				$mail->setSender(html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));
				$mail->setSubject("Подписка на рассылку");
				$mail->setText($passgen);
				$mail->send();
				
				return "Вы подписались на рассылку новостей";
			}
	function generatePassword($length = 8){
$chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
$numChars = strlen($chars);
$string = '';
for ($i = 0; $i < $length; $i++) {
$string .= substr($chars, rand(1, $numChars) - 1, 1);
}
return $string;
}
Змінено користувачем nash
Надіслати
Поділитися на інших сайтах


Вы работаете через model/account/customer - addCustomer или напрямую пишете в базу?

через модель своего модуля

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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