1

我有以下代码可以在浏览器上完美运行,但在iPad上却不行,我也怀疑iPhone虽然还没有测试过:

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 darren@email.com

Your name is Darren Sweeney

Your Facebook ID is 123456789

在 iPad 上

Your email address is

Your name is

Your Facebook ID is
4

2 回答 2

3

确保您的 iPad 的 Safari 配置为接受所有 cookie。

您的应用程序位于 Facebook 的 iFrame 中,这反过来又使您的应用程序托管成为第 3 方页面。因此,您必须在浏览器上启用 3rd-party cookie。
我在创建 Facebook 应用程序时也遇到了这个问题。
希望这对您有所帮助。

于 2012-10-10T04:02:12.817 回答
1

session_start()应该在使用任何会话变量之前定义。因此将其放在顶部:

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

这给你带来了问题。

于 2012-04-24T18:42:19.403 回答