Facebook PHP SDK不保留多页iFrame应用程序的变量值

时间:2012-11-28 22:53:01

标签: mysql facebook facebook-php-sdk

我的问题是关于Facebook应用程序。我有一个iFrame应用程序,我使用Facebook PHP SDK获取用户的信息并通过变量显示。基本上有一个数组设置如下:

require_once 'facebook.php';
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$config = array();
  $config['appId'] = '562494063776100';
  $config['secret'] = '83f3c580f0b4f9ddca7cd13e1386b733';
  $config['fileUpload'] = false; // optional
  $config['cookie'] = true;

$facebook = new Facebook($config);

$user = $facebook->getUser();

if ($user) {
  try {
    // Get the user profile data you have permission to view
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    $user = null;
  }
} else {
  die;
}

然后我可以从开放图中访问变量,例如$ user_profile ['name']。它在初始加载时工作正常,但后来我失去了$ user的值。该应用程序是一个多页iframe应用程序,这意味着它就像一个有三页的小迷你网站。用户进入欢迎页面,然后可以进入投票页面或输入页面。我只是在第一页加载facebook.php和info,因为当我在其他文件中有一个connect.php(其中包含facebook SDK信息以及我的MySQL登录信息)时,它给了我错误。我想是因为facebook.php不止一次被调用?

现在问题是我可以访问主页面上的$ user_profile但不能访问其他页面。我假设这是因为它不是在查询facebook.php文件但是我不能把facebook.php文件放在那些页面上因为我收到错误。它给我的错误是我在if语句的“die”部分放的内容。基本上$ user没有设置。我想尽量避免使用Javascript SDK,这样我就可以保留服务器端的一切。

我看到这篇文章: Permissions not getting carried over when visiting a new page while using facebook's php sdk 哪个接近同一个问题但不完全相同。谢谢你的帮助!

0 个答案:

没有答案