Если без функции function steamlogin()
все хорошо добавляется в базу, обновляется... а так не получается, помогите люди добрые) что не так , что делать ?
<?php
ob_start();
session_start();
ini_set('error_reporting', E_ALL|E_STRICT);
ini_set('display_errors', 1);
function steamlogin()
{
try {
define('URL','http://gekeri6r.beget.tech/openid/openauth.php');//адрес по которому доступен данный скрипт
define('APPLICATION_ID','15fc5a2a344650620ee046b8df279a21');//application_id приложения
if(empty($_GET['status'])){//генерируем ссылку и перенаправяем пользователя
$context = stream_context_create(
array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query(
array(
'nofollow' => 1,
'expires_at' => 300,
'redirect_uri' => URL,
'application_id' => APPLICATION_ID
)
)
)
)
);
$data=json_decode(@file_get_contents('https://api.worldoftanks.ru/wot/auth/login/', false, $context),true);
if($data['status']=='ok'){
header ('Location: '.$data['data']['location']);
exit();
}else{
exit('Не удалось получить ссылку для перенаправления.');
}
}elseif(isset($_GET['status']) && isset($_GET['access_token']) && isset($_GET['nickname']) && isset($_GET['account_id']) && isset($_GET['expires_at'])){//если пользователь попал на страницу с параметрами, которые устанавливает метод auth/login
if($_GET['status']!="ok"){
$error_code=500;
if(preg_match('/^[0-9]+$/u', $_GET['code'])){
$error_code=$_GET['code'];
}
exit("Ошибка авторизации. Код ошибки: $error_code");
}elseif($_GET['expires_at']<time()){
exit("Ошибка авторизации. Срок действия access_token истек.");
}else{
$context = stream_context_create(
array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query(
array(
'expires_at' => 14*24*60*60,
'access_token' => $_GET['access_token'],
'application_id' => APPLICATION_ID
)
)
)
)
);
$data=json_decode(@file_get_contents('https://api.worldoftanks.ru/wot/auth/prolongate/', false, $context),true);//подтверждаем правдивость полученных параметров
if($data['status']=="ok"){
$mas = $_GET;
$id = $_GET['account_id'];
$token = $_GET['access_token'];
print $token;
print $id;
print $_GET['nickname'];
//Выводим весь массив GET
$_SESSION['token'] = $token;
include_once("set.php");
$query = mysql_query("SELECT * FROM users WHERE openid='".$id."'");
if (mysql_num_rows($query) == 0) {
if(isset($_SESSION['ref'])) {
mysql_query("INSERT INTO users (token, referal) VALUES ('".$_SESSION['token']."',".$_SESSION['ref'].")") or die("MySQL ERROR: ".mysql_error());
} else {
mysql_query("INSERT INTO users (token) VALUES ('".$_SESSION['token']."')") or die("MySQL ERROR: ".mysql_error());
}
$query2 = mysql_query("SELECT * FROM users");
$id = mysql_num_rows($query2);
if($id % 100 == 0) {
mysql_query("UPDATE users SET bonus=(bonus+1) WHERE token='".$_SESSION["token"]."'");
mysql_query("UPDATE users SET money=(money+50) WHERE token='".$_SESSION["token"]."'");
}
}
mysql_query("UPDATE users SET nickname='".$_GET['nickname']."', token='".$token."' WHERE openid='".$id."'");
$user = mysql_fetch_array($query, MYSQL_ASSOC);
$query = mysql_query("SELECT * FROM users WHERE $id='".$id."'");
$user = mysql_fetch_array($query, MYSQL_ASSOC);
if(isset($_SESSION['ref']) && $user['referal'] == "" && (int)$user['id'] != (int)$_SESSION['ref']) {
$result = mysql_query("SELECT * FROM users WHERE id=".(int)$_SESSION['ref']);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
mysql_query("UPDATE users SET referal='".$id."' WHERE $id='".$id."'");
mysql_query("UPDATE users SET money=(money+10) WHERE $id='".$id."'");
}
//здесь вам нужно установить пользователю куки, записать его токен в БД, сделать все то, что сочтете нужным.
}else{
exit('access_token не подтвержден');
}
}
}else{
$error_code=500;
if(preg_match('/^[0-9]+$/u', $_GET['code'])){
$error_code=$_GET['code'];
}
exit("Произошла ошибка. Код ошибки: $error_code");
}
} catch(ErrorException $e) {
echo $e->getMessage();
}
}
?>
файл с выводом функции
<?php
require('openid/openauth.php');
# You would uncomment the line beneath to make it refresh the data every time the page is loaded
// $_SESSION['steam_uptodate'] = false;
?>
<html>
<head>
<title>page</title>
</head>
<body>
<?php
if(!isset($_SESSION['steamid'])) {
echo "welcome guest! please login \n \n";
steamlogin(); //login button
} else {
include ('steamauth/userInfo.php');
//Protected content
echo "Welcome back " . $steamprofile['personaname'] . "</br>";
echo "here is your avatar: </br>" . '<img src="'.$steamprofile['avatarfull'].'" title="" alt="" />'; // Display their avatar!
header('Location: index.php');
logoutbutton();
}
?>
</body>
</html>
введите сюда код
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Изучаю Java не так давно, и хочу создать простенькую библиотеку заменыИ не могу точно понять какой метод использовать при этом
Добился того, чтобы клавиатура при появлении сдвигала Layout, который над ней, добавив в манифест android:windowSoftInputMode="adjustResize"Потом, мне понадобилось...
Собственно говоря есть такая задача, есть ресурс ( он не секретный - http://ruzditesteisnot