Steam OpenID PHP и HTML

Поэтому я пытаюсь сделать кнопку входа в систему steam для своего сайта, но она не перенаправляет туда, куда я хочу. Вместо этого он просто направляет пользователя на простой сайт с именем пользователя и кнопкой выхода. Я не писал этот код, я просто скопировал кого-то другого, чтобы попробовать. Я пытаюсь направить его обратно в index.php, но он тоже не хочет.
Вот код:

<?php
error_reporting(E_ERROR | E_PARSE | E_WARNING);

$user = new user;
$user->apikey = ""; // put your API key here
$user->domain = "localhost/index.php"; // put your domain


class user
{
public static $apikey;
public static $domain;

public function GetPlayerSummaries ($steamid)
{
$response = file_get_contents('http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=' . $this->apikey . '&steamids=' . $steamid);
$json = json_decode($response);
return $json->response->players[0];
}

public function signIn ()
{
require_once 'openid.php';
$openid = new LightOpenID($this->domain);// put your domain
if(!$openid->mode)
{
$openid->identity = 'http://steamcommunity.com/openid';
header('Location: ' . $openid->authUrl());
}
elseif($openid->mode == 'cancel')
{
print ('User has canceled authentication!');
}
else
{
if($openid->validate())
{
preg_match("/^http:\/\/steamcommunity\.com\/openid\/id\/(7[0-9]{15,25}+)$/", $openid->identity, $matches); // steamID: $matches[1]
setcookie('steamID', $matches[1], time()+(60*60*24*7), '/'); // 1 week
header('Location: /');
exit;
}
else
{
print ('fail');
}
}
}
}

if(isset($_GET['login']))
{
$user->signIn();
}
if (array_key_exists( 'logout', $_POST ))
{
setcookie('steamID', '', -1, '/');
header('Location: /');
}


if(!$_COOKIE['steamID'])
{
print ('<form action="?login" method="post">
<input type="image" src="http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_large_border.png"/>
</form>');
}
else
{
print('<form method="post"><button title="Logout" name="logout">Logout</button></form>');
echo $user->GetPlayerSummaries($_COOKIE['steamID'])->personaname;
}




?>

Я удалил Apikey, потому что я не знаю, сохранился ли он, просто чтобы выложить его в сеть, чтобы все могли видеть вот так.
Спасибо всем 🙂 хорошего дня. Извините за мою грамматику, мой английский не так хорош. Еще раз спасибо: D

0

Решение

Я использую тот же код для моего сайта Steam
Посмотреть здесь.

            preg_match("/^http:\/\/steamcommunity\.com\/openid\/id\/(7[0-9]{15,25}+)$/", $openid->identity, $matches); // steamID: $matches[1]
setcookie('steamID', $matches[1], time()+(60*60*24*7), '/'); // 1 week
header('Location: /');
exit;

В этой области кода должно быть исправление.
Кажется, я не могу найти свой php для этого, так как я сделал мой довольно сложным с двумя ссылками php и использованием фреймов для соединения их друг с другом.

Как вы заявили

{
print('<form method="post"><button title="Logout" name="logout">Logout</button></form>');
echo $user->GetPlayerSummaries($_COOKIE['steamID'])->personaname;
}

Мой сделан так, с помощью кнопки входа / выхода с этим php кодом. Не совсем уверен, поможет ли это вам!
Если вы используете этот код, убедитесь, что у вас есть allow_url_fopen включен для сайта выхода.

$ sign_inout = file_get_contents (‘http://kuramacraft.net/steam/signinout.php«);

echo $ sign_inout;

Спасибо, что нашли время, чтобы прочитать это!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]