После взятия скрипта в функцию он перестал добавлять в базу данные [требует правки]

204
23 декабря 2016, 13:30

Если без функции 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>
введите сюда код
READ ALSO
Замена текста в Java

Замена текста в Java

Изучаю Java не так давно, и хочу создать простенькую библиотеку заменыИ не могу точно понять какой метод использовать при этом

353
toggleSoftInput со значением ShowForced закрывает собой view

toggleSoftInput со значением ShowForced закрывает собой view

Добился того, чтобы клавиатура при появлении сдвигала Layout, который над ней, добавив в манифест android:windowSoftInputMode="adjustResize"Потом, мне понадобилось...

373
Объединение имени файла и пути

Объединение имени файла и пути

У меня есть путь вроде такого:

327
Как написать клиента для SOAP (web-service)

Как написать клиента для SOAP (web-service)

Собственно говоря есть такая задача, есть ресурс ( он не секретный - http://ruzditesteisnot

400