Noxter Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 В виду того что автор темы забил на свое решение и не хочет его привести в рабочий вид, я решил написать небольшой туториал по авторизации в интернет-магазине через соц. сети.Также есть платное решение кому нужно.Что это дает?- Автоматический вход клиента без регистрации в интернет-магазин- Автоматическая регистрация покупателя который зашел через соц. сеть- Сбор потенциальных покупателей на летуИ так приступим.В шаблон index.tpl в нужном Вам месте вставим следующий код: <!-- Ulogin --> <script src="http://ulogin.ru/js/ulogin.js"></script> <div id="uLogin" data-ulogin="display=small;fields=first_name,last_name,email,phone,city;providers=vkontakte,facebook,odnoklassniki,mailru;hidden=other;redirect_uri=http://ваш-сайт.ru/user/login"></div> <!-- end --> В фале view/LoginView.php после 64-й строки вставим следующий код: // Вход через ULogin elseif(isset($_POST['token'])) { $s = file_get_contents('http://ulogin.ru/token.php?token='.$_POST['token'].'&host='.$_SERVER['HTTP_HOST']); $simpla = json_decode($s, true); if (isset($simpla['identity'])) { $name = $simpla['first_name'].' '.$simpla['last_name']; $email = $simpla['email']; $phone = $simpla['phone']; $city = $simpla['city']; $password = md5($simpla['identity'].'Noxter'); //проверяем есть ли в БД такой e-mail $this->db->query('SELECT count(*) as count, id FROM __users WHERE email=?', $email); $user_exists = $this->db->result(); if($user_id = $this->users->check_password($email, $password)) { $user = $this->users->get_user($email); if($user->enabled) { $_SESSION['user_id'] = $user_id; header('Location: '.$this->config->root_url); } else { $this->design->assign('error', 'user_disabled'); } } elseif($user_exists->count) { $_SESSION['user_id'] = $user_exists->id; header('Location: '.$this->config->root_url); } else { $user_id = $this->users->add_user( array('name'=>$name, 'email'=>$email, 'password'=>$password, 'enabled'=>1) ); $_SESSION['user_id'] = $user_id; header('Location: '.$this->config->root_url); } } } Вроде бы все.Проверяем отписываемся. Цитата Ссылка на сообщение Поделиться на другие сайты
iMessi89 Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 а чем отличается от платной версии? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 Ну я демо платной версии не видел и не щупал, я не думаю что есть отличия в функционале. Цитата Ссылка на сообщение Поделиться на другие сайты
iMessi89 Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 я имел ввиду от платного решения предложенного корсом чем отличается? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 >я имел ввиду от платного решения предложенного корсом чем отличается?>Ну я демо платной версии не видел и не щупал, я не думаю что есть отличия в функционале.Что из моей писанины Вы не поняли? Я Вам дал ответ на Ваш вопрос. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 Ну не знаю, раньше все работало... Сейчас не знаю... Цитата Ссылка на сообщение Поделиться на другие сайты
Ruslan Kopyl Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 А вместо того, чтоб такие бесполезные посты писать, не лучше ли затратить несколько минут и проверить, а потом уже высказываться по существу?Это самому себе написано?? ) Цитата Ссылка на сообщение Поделиться на другие сайты
Ruslan Kopyl Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 кажется нужно так if (isset($simpla['identity']))хотя конечно название $simpla лучше не использовать, но раз уж начали Цитата Ссылка на сообщение Поделиться на другие сайты
Ruslan Kopyl Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 и в js http://ваш-сайт.ru/user/login" Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 (изменено) Я прежде чем выкладывать поставил все на рабочий сайт и там все работает вполне нормально. Покажите скрин ошибки. Изменено 22 февраля, 2019 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 кажется нужно такif (isset($simpla['identity']))Точно! Спасибо не заметил. Корс прав был вот из-за чего не работало. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 Если не шифровать пароль то любой сможет спокойно зайти под чужим пользователем. Ник Noxter служит солью в коде))) Цитата Ссылка на сообщение Поделиться на другие сайты
iMessi89 Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 меня лично немного другой вопрос мучает - а вообще народ пользуется нет авторизацией и регистрацией на интернет-магазинах?? Насколько полезная вещь?? Есть ответ? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 Кто установил себе, отпишитесь как работает. Цитата Ссылка на сообщение Поделиться на другие сайты
iMessi89 Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 у меня не работает Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 iMessi89 сбросьте в ЛС фтп доступ я посмотрю. Цитата Ссылка на сообщение Поделиться на другие сайты
Rash Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 =D> Спасибо Noxter, все работает! Единственное поле телефон не заполняется, хотя в БД есть поле "phone" и профиле пользователя тоже.. Цитата Ссылка на сообщение Поделиться на другие сайты
iMessi89 Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 кароче в IE8 нифига ulogin не работает. На хабре уже об этом писали. А через loginza делал кто? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 Вечером еще раз все проверю. Да делал для действующего магазина и структура таблиц в БД изменилась. Цитата Ссылка на сообщение Поделиться на другие сайты
rapuk Опубликовано 29 апреля, 2013 Жалоба Поделиться Опубликовано 29 апреля, 2013 Вечером еще раз все проверю. Да делал для действующего магазина и структура таблиц в БД изменилась. Подскажите, пожалуйста, почему ваш вариант не желает работать? После авторизации через сервисы перебрасывает на страницу входа и ничего не происходит... Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 6 июня, 2013 Жалоба Поделиться Опубликовано 6 июня, 2013 кароче в IE8 нифига ulogin не работает. На хабре уже об этом писали. А через loginza делал кто?Допиливал в свое время, приключений не возникало. Правда при авторизации сразу собирал данные о пользователях, наверно что бы потом их почтовым спамом завалить =D(на самом деле, что бы историю заказов можно было вести для тех кто openID пользуется). Работает к примеру тут: http://flowers68.ru/user/login Цитата Ссылка на сообщение Поделиться на другие сайты
iMessi89 Опубликовано 7 июня, 2013 Жалоба Поделиться Опубликовано 7 июня, 2013 Допиливал в свое время, приключений не возникало. Правда при авторизации сразу собирал данные о пользователях, наверно что бы потом их почтовым спамом завалить =D(на самом деле, что бы историю заказов можно было вести для тех кто openID пользуется). Работает к примеру тут: http://flowers68.ru/user/login у вас в ие вообще вся верстка сайта рушится. Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 7 июня, 2013 Жалоба Поделиться Опубликовано 7 июня, 2013 Во-первых) верстка там не моя.Во-вторых, ишак он и в африке ишак.В-третьих, вы еще и старого ишака откопали) хорошо, что не Netscape Navigator какой-нибудь. Переживать из-за бедных жителей камбоджи едва ли стоит. Овчинка выделки не стоит. Цитата Ссылка на сообщение Поделиться на другие сайты
Yoshitoshi Опубликовано 10 июня, 2013 Жалоба Поделиться Опубликовано 10 июня, 2013 Кто установил себе, отпишитесь как работает. Все работает. Цитата Ссылка на сообщение Поделиться на другие сайты
Dr_Brown Опубликовано 12 июня, 2013 Жалоба Поделиться Опубликовано 12 июня, 2013 Все работает, спс. Чтобы прописывало ip входа юзверя: Этот кусок: $user_id = $this->users->add_user( array('name'=>$name, 'email'=>$email, 'password'=>$password, 'enabled'=>1) Заменить: $user_id = $this->users->add_user( array('name'=>$name, 'email'=>$email, 'password'=>$password, 'enabled'=>1, 'last_ip'=>$_SERVER['REMOTE_ADDR']) Пытался сделать так: 'enabled'=>$default_status лупит нотисы. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.