Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.05.2022
Сообщений: 6

Как сделать чтобы отображалось фамилия, имя и фото при авторизации через вк, приложение привязал, фото фамилию нет

06.06.2022, 22:19. Показов 743. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html>
<head>
<title> Авторизация </title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
 
        <link rel="stylesheet" href="css/style.css" type="text/css">
 
        <style>
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
.sociala a {
    display: inline-block
    text-align: center;
    width: 180px;
    height: 67px;
    float: left;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15), inset 0 0 50px rgba(0,0,0,0.1);
    border-radius: 24px;
    margin: 0% 80% 0%;
    padding: 6px;
    color: #000;
}
.vka a:hover {background: #5d84ae; color: #fff;}
.social .fa-2x {
    font-size: 30px;
}
</style>
</head>
<body>
<div id="container">
 
<div class="sociala vka">
        <p>
            <strong><a href="auth.php"><i class="fa fa-vk fa-2x">Вконтакте<br><i class="fa fa-sign-in" aria-hidden="true"></i>  Вход</i></a></strong>
        </p>
          </div>
</body>
</html>
отдельный текстовый документ config
PHP
1
2
3
4
5
6
7
8
9
10
11
<?
session_start();
define("APP_ID",'8175335');
define("APP_SECRET",'BceBpZCr4Pn8ml8hJTAe');
define("REDIRECT_URI",'http://ck48823.tmweb.ru/auth.php');
define("URL_ACCESS_TOKEN",'https://oauth.vk.com/access_token');
define("URL_AUTH",'http://oauth.vk.com/authorize');
define("URL_GET_USER",'https://api.vk.com/method/users.get');
 
 
?>
отдельный текстовый документ Auth_Vk
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?
class Auth_Vk {
    
    private $code;
    private $token;
    private $uid;
    
    public function __construct() {
        
        require "config.php";
    }
    
    public function set_code($code) {
        $this->code = $code;
    }
    
    public function set_token($token) {
        $this->token = $token;
    }
    
    public function set_uid($id) {
        $this->uid = $id;
    }
    
    public function redirect($url) {
        header('HTTP/1.1 301 Moved Permanently');
        header("Location:".$url);
        exit();
    }
    
    public function get_token() {
        if(!$this->code) {
            exit("Не верный код");
        }
        
        $ku = curl_init();
        $query = "client_id=".APP_ID."&client_secret=".APP_SECRET."&code=".$this->code."&redirect_uri=".REDIRECT_URI;
        curl_setopt($ku,CURLOPT_URL,URL_ACCESS_TOKEN."?".$query);
        curl_setopt($ku,CURLOPT_RETURNTRANSFER,TRUE);
        
        $result = curl_exec($ku);
        curl_close($ku);
        
        $ob = json_decode($result);
        if($ob->access_token) {
            $this->set_token($ob->access_token);
            $this->set_uid($ob->user_id);
            return TRUE;
        }
        elseif($ob->error) {
            $_SESSION['error'] = "Ошибка";
            return FALSE;
        }
    }
    
    public function get_user() {
        if(!$this->token) {
            exit('Wrong code');
        }
        
        if(!$this->uid) {
            exit('Wrong code');
        }
        
        $query = "uids=".$this->uid."&fields=first_name,last_name,nickname,screen_name,sex,bdate,city,country,timezone,photo,photo_medium,photo_big,has_mobile,rate,contacts,education,online,counters&access_token=".$this->token;
//echo $query;
 
        $kur = curl_init();
 
        
 
        curl_setopt($kur, CURLOPT_URL, URL_GET_USER."?".$query);
 
        curl_setopt($kur, CURLOPT_SSL_VERIFYPEER, false);
 
        curl_setopt($kur, CURLOPT_SSL_VERIFYHOST, false);
 
        curl_setopt($kur,CURLOPT_RETURNTRANSFER,TRUE);
 
        
 
        $result2 = curl_exec($kur);
        
        curl_close($kur);
 
        $_SESSION['user'] = json_decode($result2);
 
        $this->redirect("http://ck48823.tmweb.ru");
 
    }
    
}
?>
отдельный текстовый документ auth
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
require "Auth_Vk.php";
 
$o = new Auth_Vk();
 
if(!$_GET['code']) {
    
    $query = "client_id=".APP_ID."&scope=offline&redirect_uri=".REDIRECT_URI."&response+type=code";
    
    $o->redirect(URL_AUTH."?".$query);
}
if($_GET['code']) {
    //echo $_GET['code'];
    $o->set_code($_GET['code']);
    $res = $o->get_token();
    
    if($res) {
        $o->get_user();
    }
    else {
        exit($_SESSION['error']);
    }
}
if($_GET['error']) {
    exit($_GET['error_description']);
}
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.06.2022, 22:19
Ответы с готовыми решениями:

Как сделать в Photoshop 22.5.1, чтобы при масштабировании фото колесиком мыши фото оставалось в центре?
Вопрос в теме. Добавлю, что я хочу добиться того, чтобы даже если курсор находится вне границ фото, то при масштабировании колесом мыши...

Загружаю фото через модуль, все красиво - на сайте этих фото нет
Здравствуйте! Загружаю фото к статье через модель EvoGallery, все хорошо загружается, перехожу на просмотр - нет фото. Вообще. Чистила...

Как сделать чтобы при нажатии фото увеличивалось?
Люди вот сайт! Вопрос: как сделать чтобы при нажатии фото увеличивалось??!! Очень надо! http://egorikem.2ho.biz/foto.html

1
113 / 115 / 19
Регистрация: 03.06.2022
Сообщений: 756
07.06.2022, 02:56
Попробуйте посмотреть вывод строчки
PHP
1
var_dump($_SESSION['user']);
и не забудьте в начало всех файлов, оперирующих переменной $_SESSION добавить строчку
PHP
1
session_start();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.06.2022, 02:56
Помогаю со студенческими работами здесь

Как сделать так, чтобы при прокрутке фото уходило не до конца?
&lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&quot;&gt;&lt;/script&gt; $(function(){ ...

Ввести в окне имя, отчество и фамилию (именно в таком порядке) и преобразовать, чтобы получилось имя и фамилия
Нужно написать программу чтобы она умела: Ввести в окне имя, отчество и фамилию (именно в таком порядке) и преобразовать, чтобы...

Как сделать, чтобы фото имела определенный размер при загрузке на сайт?
Код для загрузки фото и отображение всей папки с фотографиями : &lt;?php $dir='uploades/'; $cols = 3; $files =...

Как поменять код в пайтоне чтобы в конце тестировались не рандомные фото в нейронной сети а фото из папки?
Как поменять код в пайтоне чтобы в конце тестировались не рандомные фото в нейронной сети а фото из папки? Это код из Kaggle и эта часть...

Camera 2 Api, как сделать фото/множество фото без блокировки предварительного просмотра?
При использовании captureBurst или capture, блокируется превью, есть ли возможность делать фото (желательно не одно) и при этом не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru