2014-11-02 63 views
0

我在一個網站上工作,並使用steam openid,至今沒有問題。 問題是,當我試圖將用戶重定向到蒸汽開放頁面時,它不起作用,並將它們重定向到steamcommunity.com的根目錄。

下面是代碼:

if (!isset($_SESSION['steamid']) && $_GET['a'] == "login") { 
    $url = SteamSignIn::genUrl($_AMCFG['login_dir']); 
    print($url); 
    header("Location: ".$url); 
} 

手動輸入,但重定向正如我所說的,不是那麼好當生成的URL完美的作品。 我試圖手動替換標頭中的$ url,它工作正常。

header('Location: https://steamcommunity.com/openid/login?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=checkid_setup&openid.return_to=http%3A%2F%2Flocalhost%2Fadminmailer%2Findex.php&openid.realm=http%3A%2F%2Flocalhost&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select'); 

我很困惑,爲什麼這不按預期工作。

作爲一個臨時的解決辦法我已經加入這個頭:

<?php 
    if (isset($_GET['a'])) { 
     if (!isset($_SESSION['steamid']) && $_GET['a'] == "login") { 
      $url = SteamSignIn::genUrl($_AMCFG['login_dir']); 
      ?><meta http-equiv="refresh" content="0; url=<?php print($url); ?>" /><?php 
     } 
    } 
?> 
+0

那麼,什麼是「不那麼好」呢?怎麼了?你有沒有檢查過它不是Steam最終重定向你? – ceejayoz 2014-11-02 13:56:53

+1

你不應該在更改標題前打印 – 2014-11-02 13:57:49

+0

正如我所說的,它將我重定向到沒有/ openid的steamcommunity.com的根目錄... – Starfox64 2014-11-02 13:58:31

回答

3

header重定向不打印任何東西。 Read Doc

這可能是重定向正在以正確的地方做,但之後再次被重定向到主頁即https://steamcommunity.com

+0

打印出於調試目的,即使沒有它,我仍然有同樣的問題。爲什麼會蒸汽重定向我,如果當我使用生成的網址,它工作正常,它必須是標題不正確解釋的網址是奇怪的,因爲當我手動添加它工作正常。 – Starfox64 2014-11-02 14:02:22