Jump to content

Авторизация через социальные сети


Recommended Posts

У меня не работает, при попытке залогинится перенаправляет на главную и все, параметры с uLogin подтягивает, а  вот переменную $_SESSION['user_id'] выдает равную 0, а при регистрации эта переменная приравнивается к номеру id пользователя, и в базе ничего не появляется, что делать?

 

Все гуд, просто надо было указать параметр почты (email) в запросе, когда взял кусок кода с сайта ulogin там его изначально не было поэтому и не шла регистрация и вход, будьте внимательны)

Link to post
Share on other sites
  • 3 weeks later...
  • Replies 124
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

>я имел ввиду от платного решения предложенного корсом чем отличается? >Ну я демо платной версии не видел и не щупал, я не думаю что есть отличия в функционале. Что из моей писанины Вы не поняли

header('Location: '.$this->config->root_url);

Posted Images

странно, код вставлю правильно, а при попытке авторизироваться, вылетает куча ошибок, и авторизация естественно не проходит, версия двига последняя.



Warning: Placeholder substitution error. Diagnostics: "SELECT count(*) as count, id FROM s_users WHERE email=UNKNOWN_PLACEHOLDER_0" in /var/www/---/data/www/---.ru/api/Database.php on line 132

Warning: Query was empty [] in /var/www/---/data/www/---.ru/api/Database.php on line 105

Warning: Placeholder substitution error. Diagnostics: "SELECT id FROM s_users WHERE email=UNKNOWN_PLACEHOLDER_0 AND password=? LIMIT 1" in /var/www/---/data/www/---.ru/api/Database.php on line 132

Warning: Query was empty [] in /var/www/---/data/www/---.ru/api/Database.php on line 105

Warning: Placeholder substitution error. Diagnostics: "SELECT count(*) as count FROM s_users WHERE email=UNKNOWN_PLACEHOLDER_0" in /var/www/---/data/www/---.ru/api/Database.php on line 132

Warning: Query was empty [] in /var/www/---/data/www/---.ru/api/Database.php on line 105

Warning: Column 'email' cannot be null [INSERT INTO s_users SET name='---', email=NULL, password=---, enabled='1'] in /var/www/---/data/www/---.ru/api/Database.php on line 105

Warning: Cannot modify header information - headers already sent by (output started at /var/www/---/data/www/---.ru/api/Database.php:132) in /var/www/---/data/www/---.ru/view/LoginView.php on line 110

Warning: Cannot modify header information - headers already sent by (output started at /var/www/---/data/www/---.ru/api/Database.php:132) in /var/www/---/data/www/---.ru/index.php on line 33
 

 

Link to post
Share on other sites
  • 2 weeks later...

пока глухо?

Внимательнее с скриптом надо просто быть, тот который копируете с ulogin не содержит параметр почты

 

<!-- 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 -->
Link to post
Share on other sites

а я каким образом могу знать, что в скрипте то не так?

 

Вот в этом куске кода:

 

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 <- И ТУТ

проверьте наличия параметра email, правильность ввода адреса вашего сайта и будет Вам счастье!)

Link to post
Share on other sites

У меня на сайте не работает. т.е. работает но как-то странно, при нажатии на "вк" происходит логин, соответственно на сайте выводится моя информация, но при попытке зайти куда-либо на сайте, неважно куда, в каталоги, в личный кабинет и т.п. происходит разлогин.

 

Noxter, на Вашем сайте пробовал регистрацию, такого нет.

 

 

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,odnoklassniki,mailru,facebook,twitter,google,yandex;redirect_uri=http://terclimat.ru/user/login"></div>
<!-- end -->

LoginView.php:

		// Вход через 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,
'phone'=>$phone,
'password'=>$password,
'enabled'=>1,
'last_ip'=>$_SERVER['REMOTE_ADDR'])
);
$_SESSION['user_id'] = $user_id;
header('Location: '.$this->config->root_url);
}
}
}
Link to post
Share on other sites

Ваша проблема в том что до логина у вас адрес без www а после редирект на www. исправьте это и все будет хорошо, проверить можете таким образом - после логина перейдите на любую страницу и удалите www. .

Link to post
Share on other sites

Ваша проблема в том что до логина у вас адрес без www а после редирект на www. исправьте это и все будет хорошо, проверить можете таким образом - после логина перейдите на любую страницу и удалите www. .

 

Спасибо Огромное! Все получилось!

 

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

Получается uLogol работает на принципе окна регистрации выдаваемым путем захода на uLogol через соц.сеть?

Link to post
Share on other sites
  • 2 weeks later...
  • 2 weeks later...

я не программист а заказчик) мне скиллзы не позволяют)))

 

Notice: Undefined index: phone in /home/baradetsky/mrleone.ru/docs/view/LoginView.php on line 74
Notice: Undefined index: city in /home/baradetsky/mrleone.ru/docs/view/LoginView.php on line 75
Warning: Cannot modify header information - headers already sent by (output started at /home/baradetsky/mrleone.ru/docs/view/LoginView.php:74) in /home/baradetsky/mrleone.ru/docs/view/LoginView.php on line 109
Warning: Cannot modify header information - headers already sent by (output started at /home/baradetsky/mrleone.ru/docs/view/LoginView.php:74) in /home/baradetsky/mrleone.ru/docs/index.php on line 33

74 и 75 строки это и есть phone и city соответственно 

 

 

UPD вот ссылочка на сайт http://mrleone.ru/ Помогите советом люди добрые)))))

Link to post
Share on other sites

Простейший примитивный вариант - написать так:

 

error_reporting(7);

$phone = $simpla['phone'];

$city = $simpla['city'];

 

А лучше бы прописать error_reporting(7); в начале index.php или в еще более глобальных настройках...

Прописал. Ошибки теперь нет. Спасибо! А данные телефона и адрес доставки и не должны подставляться в поля в корзине??

Link to post
Share on other sites

А как сделать чтобы после ulogin-авторизации не перекидывать пользователя на главную страницу, а оставлять там где он есть?

header('Location: '.$this->config->root_url);
Link to post
Share on other sites
  • 2 weeks later...
  • 1 month later...

 

Как бы ни чего особенного, но фишка. На халяву не отказался бы прикрутить на свой сайт. Но у Noxter свои соображения на этот счет

Да не вопрос! Черкани в ЛС часа через 2-3.

Link to post
Share on other sites

Как бы ни чего особенного, но фишка. На халяву не отказался бы прикрутить на свой сайт. Но у Noxter свои соображения на этот счет

Как и обещал http://forum.simplacms.ru/topic/7124-2xx-модуль-отслеживания-отправлений-новой-почты/
Link to post
Share on other sites

надо бы доработать эту функциональность. если заходить сразных соцсетей то создается новый профиль. надо создать таблицу с соцсетями пользователя и по ним искать соответствие.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...