首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Steam Openid登录

Steam Openid登录
EN

Stack Overflow用户
提问于 2013-12-10 07:49:43
回答 1查看 4.5K关注 0票数 1

我使用steam open id来允许用户登录我的网站。这就是我现在所拥有的。这不是我从一个教程中得到的,并根据我的需要进行了修改。

代码语言:javascript
运行
复制
<?php
include "apikey.php";
include "OpenID.php";
   $link = mysql_connect('', '', '', ' ');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';



$OpenID = new LightOpenID("MyWebsite");

session_start();

if(!$OpenID->mode) {

    if(isset($_GET['login'])) {

        $OpenID->identity = "http://steamcommunity.com/openid";
        header("Location: {$OpenID->authUrl()}");
    }

    if(!isset($_SESSION['T2SteamAuth'])){
         $login = print ('<form action="?login" method="post">
    <input type="image" src="http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_large_border.png"/>
    </form>');
    }

}   elseif($OpenID->mode == "cancel") {
  echo "canceled";
}   else {
     if(!isset($_SESSION['T2SteamAuth'])) {

         $_SESSION['T2SteamAuth'] = $OpenID->validate() ? $OpenID->identity : null;
         $_SESSION['T2SteamID64'] = str_replace("http://steamcommunity.com/openid/id", "", $_SESSION['T2SteamAuth']);


         if($_SESSION['T2SteamAuth'] !== null) {

             $Steam64 = str_replace("http://steamcommunity.com/openid/id", "", $_SESSION['T2SteamAuth']);
             $profile = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={$api}&steamids={$Steam64}"); 
             $buffer = fopen("cache/{Steam64}.json". "w+");
             fwrite($buffer, $profile);
             fclose($buffer);
          }
          header("Location: login3.php");
     }

}
    if(isset($_SESSION['T2SteamAuth'])) {
    $Steam64id = $_SESSION['T2SteamAuth'];
    print($Steam64id);
$sql = "INSERT INTO ``.`` (`id`) VALUES ('$Steam64id')";
mysql_query($sql, $link);
mysql_close($link);
print('<form action = "?logout" method="post"><button title="logout"          name="logout">Logout</button></form>');
}
if(isset($_GET['logout'])) {
    unset($_SESSION['T2SteamAuth']);
    unset($_SESSION['T2SteamID64']);
    header("Location: login3.php");
}   



?>

这段代码允许用户登录到我的网站,他们的id被发送到我的数据库。我想要做的是允许这些用户使用论坛。我下载了一个论坛插件和打开id,但由于某种原因,我的代码不允许用户使用我的论坛,我不知道为什么。要让用户使用我的论坛,他们必须转到wp-login.php,输入https://steamcommunity.com/openid/login,然后以这种方式登录,与我的代码分开。我想有这个代码允许用户登录到一个论坛。任何帮助都是最好的。谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-06-07 04:24:00

要使header()命令工作,之前不能输出任何超文本标记语言。即使是最小的空间也可能会阻止它重定向。

我知道这是一个迟来的答案,但我希望它能帮助一些人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20483271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档