2012-04-24 71 views
1

我有以下的代碼工作完全在瀏覽器,但不是在iPad,我懷疑iPhone太雖然沒有測試它:iPad會話錯誤?

require '/home/****/php_/lib/fb_libs/facebook.php'; 
require '/home/****/php_/lib/fb_libs/fbconfig.php'; 

session_start(); 

$facebook = $_SESSION['facebook']; 
$userdata = $_SESSION['userdata']; 

echo "Your email address is ".$userdata['email']."<br /><br />"; 

echo "Your name is ".$userdata['name']."<br /><br />"; 

echo "Your Facebook ID is ".$userdata['id']."<br /><br />"; die; 

而iPad根本不會返回變量$userdata[*]

有什麼不同,我應該知道RE的iPad?我正在用這個把我的頭髮撕掉。

這是在瀏覽器上的結果:

Your email address is [email protected] 

Your name is Darren Sweeney 

Your Facebook ID is 123456789 

在iPad上

Your email address is 

Your name is 

Your Facebook ID is 
+0

以及你如何設置$ _SESSION [「用戶數據」。會話是否有效? – 2012-04-24 18:41:33

+0

@Topener修正了問題,這是錯誤的,因爲我正在測試的東西,但它現在正確的順序。 – 2012-04-24 18:43:25

+0

所以問題仍然存在? – 2012-04-24 18:44:08

回答

1

session_start()應該使用任何會話變量之前定義。因此,將其放置在頂部:

session_start(); 
$facebook = $_SESSION['facebook']; 
$userdata = $_SESSION['userdata']; 

這是造成問題給你。

+0

不,剛剛修改的問題,與你說的相同 – 2012-04-24 18:44:06

3

確保您的iPad的Safari配置爲接受所有Cookie。

您的應用程序位於Facebook的iFrame中,這反過來又使您的應用程序託管爲第三方頁面。所以,您必須在瀏覽器上啓用第三方Cookie。
我有這個問題,以及創建一個Facebook應用程序的問題。
希望這可以幫助你。