我正在使用PHP和Facebook SDK构建iframe应用程序。在第一页上有一个“下载”按钮,链接到第二页。在第二页,我使用以下代码:
$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
if ($like_status) {
include('download.php');
}
else {
include('non-fan.php');
}
我想仅为喜欢我们的Facebook页面的用户提供下载。由于某种原因,$ signed_request变量为空。我该如何解决这个问题?
答案 0 :(得分:5)
在iframe中,Facebook仅在整个页面的初始加载时发布已签名的请求。 iframe中的后续页面加载将不会收到帖子。
您可以序列化已签名的请求变量并将其存储在您的会话中,然后在每次页面加载时检查您是否有新的,并且如果您还没有,则从会话中获取它。