2012-06-04 14 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

相关问题