Авторизация через VK php

181
14 апреля 2019, 16:30

    <?php 
require($_SERVER['DOCUMENT_ROOT']."/inc/bd.php"); 
require($_SERVER['DOCUMENT_ROOT']."/setting.php"); 
 
    $client_id = '6750964'; // ID приложения 
    $client_secret = 'x3JfACSAjZFRI5zdIJLu'; // Защищённый ключ 
    $redirect_uri = 'http://shop-forzz.tk/vk.php'; // Адрес сайта 
 
    $url = 'http://oauth.vk.com/authorize'; 
 
    $params = array( 
        'client_id'     => $client_id, 
        'redirect_uri'  => $redirect_uri, 
        'response_type' => 'code' 
    ); 
	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'], 
			'v'         => '3' 
        ); 
 
        $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) { 
		$sql_select = "SELECT COUNT(*) FROM rubli_user WHERE vk_id='".$userInfo['uid']."'"; 
$result = mysql_query($sql_select); 
$row = mysql_fetch_array($result); 
if($row) 
{ 
	$count = $row['COUNT(*)']; 
} 
if($count == 1) 
{ 
			$sql_selects = "SELECT * FROM rubli_user WHERE vk_id='".$userInfo['uid']."'"; 
$results = mysql_query($sql_selects); 
$rows = mysql_fetch_array($results); 
if($rows) 
{ 
	$sid = $rows['sid']; 
	setcookie('sid', $sid, time()+36000, '/'); 
} 
} 
else 
{ 
			$chars3="f66d450ef66d450ef66d450ee9f60a47faff66df66d450ead8663511db969238ce15957";  
$max3=32;  
$size3=StrLen($chars3)-1;  
$passwords3=null;  
while($max3--)  
$hash.=$chars3[rand(32,$size3)]; 
$ip = $_SERVER["REMOTE_ADDR"]; 
$ref = $_COOKIE["ref"]; 
$datas = date("d.m.Y"); 
	$datass = date("H:i:s"); 
	$data = "$datas $datass"; 
$login = $userInfo['first_name']." ".$userInfo['last_name']; 
	mysql_query("INSERT INTO `rubli_user` (`vk_id`,`login`, `pass`, `sid`, `ip`, `ip_reg`, `email`, `balance`, `referal`, `data`) VALUES ('".$userInfo['uid']."', '$login', 'NO PASS', '$hash', '$ip', '$ip', 'NO EMAIL', '0.00','$ref', '$data')"); 
	setcookie('sid', $sid, time()+36000, '/'); 
		 
} 
$login = $userInfo['first_name']." ".$userInfo['last_name']; 
$update_sql1 = "INSERT INTO `rubli_chat` (`user_id`, `message`, `data`) VALUES ('0', 'Новый участник: $login', '".time()."')"; 
mysql_query($update_sql1) or die("" . mysql_error());	 
 
setcookie('name', "1111ddd", time()+3600, '~/', './'); 
     echo '<meta http-equiv="refresh" content="0;URL=/?sid='.$sid.'">';   
    } 
} 
?>

Нужна помощь, не могу понять почему не работает авторизация через VK, постоянно выдаёт: error "invalid_request" error_description "redirect_uri has wrong domain, check application settings" (пробовал и с vk.php тоже на работает)

READ ALSO
Ошибки из за постоянного коннекта к MySql

Ошибки из за постоянного коннекта к MySql

Столкнулся с проблемой большого кол-ва коннектов к MySql, и решил использовать персистент коннект, чтобы не плодить такое кол-во коннектов,...

137
Как вернуть остаток от деления, не используя %?

Как вернуть остаток от деления, не используя %?

Например, есть некая функция

156
Поиск по мультиязычному сайту в Yii2

Поиск по мультиязычному сайту в Yii2

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

224
вывести данные из mysql

вывести данные из mysql

есть таблица как мне вывести в запросе вот в таком виде для определенного teacher

143