我有一个Facebook选项卡,使用以下代码进行扇门控制:
<?php
require 'facebook.php';
$app_id ="APP_ID";
$app_secret ="APP_SECRET";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];
?>
<?php if ($like_status) { ?>
<?php } else { ?>
Page overlay hides page content for non-fans.
<?php } ?>
Page content here...
应用允许用户使用method="post"提交表单。当提交表单时,页面将被重新加载,并显示一条成功消息而不是表单。URL不变
问题是,当表单提交时,即使页面被点赞,页面覆盖也是可见的。
在提交表单之前,like gate可以很好地显示/隐藏页面的覆盖。
任何帮助都将非常感激。谢谢。
最好的,亚历山大
signed_request
仅在第一次加载到iframe时传递给应用程序。
为了保存这个值,您需要将它保存到一个会话变量中。
您可以做的是为已经"喜欢"URL的用户添加一个参数到表单中,以便服务器在解析表单时能够知道该用户是否"喜欢"该URL。
<p>Hey, check out my fiddle, should give you a big help.</p>
http://jsfiddle.net/972NF/