2009-09-21 106 views
0

我一直在使用twitter oauth和api,並且我有一個奇怪的問題。php不更新會話變量?

我在做什麼是生成請求鏈接,將請求令牌和祕密保存在會話變量中,然後當用戶從twitter返回時,試圖檢索這些密鑰以將它們存儲在數據庫中。

當我執行以下命令:

session_start(); 
$to = new TwitterOAuth($consumerkey, $consumersecret); 
$tok = $to->getRequestToken(); 
$request_link = $to->getAuthorizeURL($tok); 
$_SESSION["oauth_request_token"] = $token = $tok['oauth_token']; 
$_SESSION["oauth_request_token_secret"] = $tok['oauth_token_secret']; 
print_r($_SESSION)."<br>"; 

它顯示了會話數組包含我的價值觀,他們是正確的,但是當它從Twitter回來,print_r'ing會話陣列產生什麼,同樣爲回聲。它就像它不存在或某物。

我在第一行的第一行開始這兩個頁面上的會話。

第二頁上寫着:

session_start(); 
echo $_SESSION["oauth_request_token"]; 
echo $_SESSION["oauth_request_token_secret"]; 

奇怪的是,如果我手動聲明的第二頁上的會話變量,它工作正常。我錯過了什麼嗎?

回答

0

結果會話特定於該地址。

我是從

http://website.com 

送我的請求,並要回

http://www.website.com 
1

看來,PHP不會正確保存會話。你能顯示phpinfo()嗎?可能會話保存處理程序被覆蓋。此外,嘗試擺脫Twitter和實驗在純PHP與會話變量。這會工作嗎?

1

是否正確設置會話ID的cookie? 如果沒有,那麼會話ID將在URL中傳遞,因此您必須確保將其正確發送到Twitter。