Перейти к содержанию
Авторизация  
BOYFROMGUCCI

Авторизация Через Вк

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

Доброй ночи! Нужна помощь в интеграции моего сайта с соц. сетями. Нужно, чтобы на моем сайте можно регистрироваться через ВК, точно так-же как здесь http://ask.fm/signup где после авторизации через ВК появляется страница с продолжением регистрации, выбором ника и.т.д.. Даже здесь на форуме есть такая штука. Прошу помощи. Если все хорошо получиться, готов дать на пивко :drinks:

Поделиться сообщением


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

мануалы вк есть

Пробовал, не получается. Знаю, что через uLogin можно - но так-же безуспешно..

Поделиться сообщением


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

Ну чтож, сейчас покажу как делал я через uLogin.

 

1. Для начала нам нужно извлечь из json формата все данные авторизации, делаем следющее:

 static function AuthWithSocial()
{
if(isset($_POST['token']))
{
$s = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
$user = json_decode($s, true);


$GetEmail = $user['email'];
$GetFirstName = $user['first_name'];
$GetPhoto = $user['photo'];
$GetAdm = 0;
$GetPass = 'mypasswf';

$SelectSocial = mysql_query("SELECT * FROM `users` WHERE `email` = '$GetEmail'");
$NumRowsSocial = mysql_num_rows($SelectSocial);
$FetchSelectSocail = mysql_fetch_assoc($SelectSocial);
if($NumRowsSocial == 0)
{
$InsertNewUserSocical = mysql_query("INSERT INTO `users` (`email`, `pass`, `first_name`, `avasoc`, `admin`, `isauthsoc`) VALUES ('$GetEmail', '$GetPass', '$GetFirstName', '$GetPhoto', '$GetAdm', '1')");
if($InsertNewUserSocical)
{
$_SESSION['email'] = $user['email'];
header('Location: /index.php');
/* echo '
			  location.href = "/";

';*/
}
else
{
echo '[color="red"]Что-то пошло не так![/color]';
}
}
else
{
$_SESSION['email'] = $user['email'];
header('Location: /index.php');
}

}

}

 

По принципу:

1. Получаем нужную почту, или что там у вас.

2. Проверяем - если есть такой аккаунт в базе - просто выдаем сессию и переводим на главную.

3. Если нету - заносим данные в бд, опять же выдаем сессию и переводи на главную.

<script src="//ulogin.ru/js/ulogin.js"></script>
<div id="uLogin" data-ulogin="display=small;fields=first_name,last_name,email,photo,photo_big;providers=vkontakte,odnoklassniki,mailru,facebook;hidden=other;redirect_uri=http%3A%2F%2F127.0.0.1"></div>

 

Собственно вот и сам код авторизации, который выводит просто иконки. Самый 1-й код это сама реализация.

 

Поменяйте 127.0.0.1 на свой.

 

Удачи :)

Поделиться сообщением


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

Ну чтож, сейчас покажу как делал я через uLogin.

 

1. Для начала нам нужно извлечь из json формата все данные авторизации, делаем следющее:

 static function AuthWithSocial()
{
if(isset($_POST['token']))
{
$s = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
$user = json_decode($s, true);


$GetEmail = $user['email'];
$GetFirstName = $user['first_name'];
$GetPhoto = $user['photo'];
$GetAdm = 0;
$GetPass = 'mypasswf';

$SelectSocial = mysql_query("SELECT * FROM `users` WHERE `email` = '$GetEmail'");
$NumRowsSocial = mysql_num_rows($SelectSocial);
$FetchSelectSocail = mysql_fetch_assoc($SelectSocial);
if($NumRowsSocial == 0)
{
$InsertNewUserSocical = mysql_query("INSERT INTO `users` (`email`, `pass`, `first_name`, `avasoc`, `admin`, `isauthsoc`) VALUES ('$GetEmail', '$GetPass', '$GetFirstName', '$GetPhoto', '$GetAdm', '1')");
if($InsertNewUserSocical)
{
$_SESSION['email'] = $user['email'];
header('Location: /index.php');
/* echo '
			 location.href = "/";

';*/
}
else
{
echo '[color="red"]Что-то пошло не так![/color]';
}
}
else
{
$_SESSION['email'] = $user['email'];
header('Location: /index.php');
}

}

}

 

По принципу:

1. Получаем нужную почту, или что там у вас.

2. Проверяем - если есть такой аккаунт в базе - просто выдаем сессию и переводим на главную.

3. Если нету - заносим данные в бд, опять же выдаем сессию и переводи на главную.

<script src="//ulogin.ru/js/ulogin.js"></script>
<div id="uLogin" data-ulogin="display=small;fields=first_name,last_name,email,photo,photo_big;providers=vkontakte,odnoklassniki,mailru,facebook;hidden=other;redirect_uri=http%3A%2F%2F127.0.0.1"></div>

 

Собственно вот и сам код авторизации, который выводит просто иконки. Самый 1-й код это сама реализация.

 

Поменяйте 127.0.0.1 на свой.

 

Удачи :)

Довольно таки не мало бесполезного кода. Читабельность низкая. Учитесь кодить "красиво" и работать с собакой (чтобы не было эрроров)

 

Например fetch выведет ошибку об отсутствии элементов, т.к он вставлен сразу после получения количества строк, а не после проверки на существование.

 

Поэтому вставить его нужно либо после проверки, либо использовать собаку.

Изменено пользователем Twinker

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...