2012-06-04 55 views
1

當我有這個測試應用程序在Facebook上的iFrame失去USER_ID:似乎鏈接到同一個Facebook應用程序

<? 
require_once('src/facebook.php'); 

$config = array(
    'appId' => '123', 
    'secret' => '123456', 
    'fileUpload' => true, 
); 

$facebook = new Facebook($config); 
$user_id = $facebook->getUser(); 
echo "[" . $user_id . "]<br>"; 
?> 
<!doctype html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <head></head> 
    <body> 
    <br> 
    <form action="" method="post"><input name="input" type="submit" value="Submit test"></form><br> 
    <a href="?hallo=1">Link test</a> 
    </body> 
</html> 

我使用Facebook PHP SDK版本3.1.1-25

我看到了什麼在IE 9: 我vistit這個程序,它顯示括號內的我的用戶ID。 但是,當我按下提交按鈕或當我點擊鏈接時,我重新輸入應用程序,用戶ID爲0.

只有在Chrome中,它似乎工作正常,它一直顯示我的用戶ID我希望它能做到。

我在做什麼錯,或者我怎樣才能製作一個多頁面的應用程序並在下一頁使用用戶ID?

+1

不知道,如果是涉及到P3P頭,閱讀更多[這裏](https://developers.facebook.com/docs/samples/canvas/) – ifaour

回答

0

一種方法是您可以將用戶存儲在SESSION中。 你也可以在要使用Facebook對象的頁面中聲明FACEBOOK類的對象爲全局對象,並且可以調用「$facebook->getUser()」。

global $facebook; 
$user = $facebook->getUser(); 
echo $user; 
+0

Facebook的PHP-SDK [已保存]( https://github.com/facebook/facebook-php-sdk/blob/master/src/facebook.php#L51)會話中的用戶標識。 – ifaour

相關問題