Задать вопрос
@sunnyrio

Как сделать чтобы переход по ссылке осуществлялся сразу при обращении к серверу?

Как сделать чтобы вместо вывода кликабельной ссылки:
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a>';

переход по этой же ссылке осуществлялся бы сразу после обращения к серверу.

Вот сам код:
<?php
$client_id = ''; // ID приложения
$client_secret = ''; // Защищённый ключ
$redirect_uri = 'http://localhost/'; // Адрес сайта

    $url = 'http://oauth.vk.com/authorize';
 
    $params = array(
        'client_id'     => $client_id,
        'redirect_uri'  => $redirect_uri,
        'response_type' => 'code'
    );
    echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
if (isset($_GET['code'])) {
    $result = false;
    $params = array(
        'client_id' => $client_id,
        'client_secret' => $client_secret,
        'code' => $_GET['code'],
        'redirect_uri' => $redirect_uri
    );
 
    $token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
 
    if (isset($token['access_token'])) {
        $params = array(
            'uids'         => $token['user_id'],
            'fields'       => 'uid,first_name,last_name,screen_name,sex,bdate,photo_big',
            'access_token' => $token['access_token']
        );
 
        $userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
        if (isset($userInfo['response'][0]['uid'])) {
            $userInfo = $userInfo['response'][0];
            $result = true;
        }
    }
 
    if ($result) {
echo json_encode($userInfo);
    }
}

?>
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
@Fortop
Tech/Team lead
Ну так воспользуйтесь
header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
exit();

Если на стороне сервера

Или
window.location=
На стороне клиента
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sunnyrio Автор вопроса
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';


Это туда как поместить?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы