我的问题是关于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 哪个接近同一个问题但不完全相同。谢谢你的帮助!