Перейти к содержанию
Официальный форум поддержки Simpla

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

Доброго дня! Подскажите как можно реализовать автоматическую регистрацию пользователей при оформлении заказа? Спасибо!

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

По аналогии как в view/RegisterView.php нужно выполнить в view/CartView.php + сделать несколько проверок.

Делал такое для 2-х магазинов.

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

Только ты сказал несколько проверок, я сделал на e-mail, а какие еще могут быть?

Если у тебя оформит покупатель заказ email которого уже есть в базе и он его повторно введет то вылетит ошибка и заказ не будет оформлен. Нужно учесть все нюансы.

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

Ну да, у меня просто предупреждение как у регистрации, что с таким e-mail уже зарегистрирован. Корзина не отчищается, логинится и продолжает оформлять заказ при том что поля уже все заполнены

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

Ну да, у меня просто предупреждение как у регистрации, что с таким e-mail уже зарегистрирован. Корзина не отчищается, логинится и продолжает оформлять заказ при том что поля уже все заполнены

Можно сделать чтобы логинился прямо в корзине=)

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

Вот подскажи мне как сделать чтобы при первом создании заказа, тут же создается пользователь, но к заказу он не привязывается, только его данные. Не могу въехать как сделать 

$order_id = $this->orders->add_order($order);	

В этой строке записывается заказ.

Ведь когда повторно он делает заказ и залогинен, то все нормально проходит.

Ссылка на сообщение
Поделиться на другие сайты
  • 7 месяцев спустя...
  • 8 месяцев спустя...

Народ, времени разбираться что и зачем тут некоторые переменные нет, видимо для каких то других целей использовались. Код из CartView.php с 83-й строки ищите отличия и правьте.

   	elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code))
    	{
    		$this->design->assign('error', 'captcha');
    	}
    	else
    	{    	
    	$query_3 = $this->db->placehold('SELECT email FROM s_users WHERE email=?',$email);
    	$this->db->query($query_3);
    	if($this->db->num_rows()==1)
    	{
        $perem = 1;
    	}    			   	
	    	// Добавляем заказ в базу
        			$this->db->query('SELECT count(*) as count FROM __users WHERE email=?', $email);
              $user_exists = $this->db->result('count');
              
            if($user_exists)
              $this->design->assign('error', 'user_exists');
              elseif (!isset($_SESSION['user_id']))
              {

	    	$user_id = $this->users->add_user(array('name'=>$name, 'email'=>$email, 'password'=>$password, 'enabled'=>$default_status, 'last_ip'=>$_SERVER['REMOTE_ADDR'], 'group_id'=>$groups));

              }	    	
	    	$this->db->query('SELECT id FROM s_users WHERE email=?',$email);//Добавляем к пользователю заказ SELECT id FROM s_users WHERE email='max@mail.ru';
        $order->user_id = $this->db->result('id');
        $user_id = $order->user_id;
	    	
	    	$order_id = $this->orders->add_order($order);	    	
	    	$_SESSION['order_id'] = $order_id;
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...