frazer Опубликовано 30 июля, 2013 Жалоба Поделиться Опубликовано 30 июля, 2013 Доброго дня! Подскажите как можно реализовать автоматическую регистрацию пользователей при оформлении заказа? Спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 30 июля, 2013 Жалоба Поделиться Опубликовано 30 июля, 2013 По аналогии как в view/RegisterView.php нужно выполнить в view/CartView.php + сделать несколько проверок.Делал такое для 2-х магазинов. Цитата Ссылка на сообщение Поделиться на другие сайты
frazer Опубликовано 30 июля, 2013 Автор Жалоба Поделиться Опубликовано 30 июля, 2013 Большая благодарность за подсказку! Цитата Ссылка на сообщение Поделиться на другие сайты
frazer Опубликовано 30 июля, 2013 Автор Жалоба Поделиться Опубликовано 30 июля, 2013 Только ты сказал несколько проверок, я сделал на e-mail, а какие еще могут быть? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 30 июля, 2013 Жалоба Поделиться Опубликовано 30 июля, 2013 Только ты сказал несколько проверок, я сделал на e-mail, а какие еще могут быть?Если у тебя оформит покупатель заказ email которого уже есть в базе и он его повторно введет то вылетит ошибка и заказ не будет оформлен. Нужно учесть все нюансы. Цитата Ссылка на сообщение Поделиться на другие сайты
frazer Опубликовано 30 июля, 2013 Автор Жалоба Поделиться Опубликовано 30 июля, 2013 Ну да, у меня просто предупреждение как у регистрации, что с таким e-mail уже зарегистрирован. Корзина не отчищается, логинится и продолжает оформлять заказ при том что поля уже все заполнены Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 30 июля, 2013 Жалоба Поделиться Опубликовано 30 июля, 2013 Ну да, у меня просто предупреждение как у регистрации, что с таким e-mail уже зарегистрирован. Корзина не отчищается, логинится и продолжает оформлять заказ при том что поля уже все заполненыМожно сделать чтобы логинился прямо в корзине=) Цитата Ссылка на сообщение Поделиться на другие сайты
frazer Опубликовано 30 июля, 2013 Автор Жалоба Поделиться Опубликовано 30 июля, 2013 Вот подскажи мне как сделать чтобы при первом создании заказа, тут же создается пользователь, но к заказу он не привязывается, только его данные. Не могу въехать как сделать $order_id = $this->orders->add_order($order); В этой строке записывается заказ.Ведь когда повторно он делает заказ и залогинен, то все нормально проходит. Цитата Ссылка на сообщение Поделиться на другие сайты
roman_neverov Опубликовано 30 июля, 2013 Жалоба Поделиться Опубликовано 30 июля, 2013 Хорошая задумка! Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 31 июля, 2013 Жалоба Поделиться Опубликовано 31 июля, 2013 frazer Получилось сделать автоматическую регистрацию? Цитата Ссылка на сообщение Поделиться на другие сайты
Gragory Опубликовано 20 марта, 2014 Жалоба Поделиться Опубликовано 20 марта, 2014 Noxter, сделай доброе дело - выложи готовое решение по теме! Цитата Ссылка на сообщение Поделиться на другие сайты
frazer Опубликовано 4 декабря, 2014 Автор Жалоба Поделиться Опубликовано 4 декабря, 2014 Народ, времени разбираться что и зачем тут некоторые переменные нет, видимо для каких то других целей использовались. Код из 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; Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.