0

我有一个 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 不会改变。

然而问题是,当提交表单时,即使页面被喜欢,页面覆盖也是可见的。

类似的门非常适合在提交表单之前显示/隐藏页面的覆盖。

任何帮助将不胜感激。谢谢。

最好的,亚历山大

4

2 回答 2

0

signed_request仅在第一次加载到 iframe 时传递给您的应用程序。

为了保留此值,您需要将其保存到会话变量中。

可以做的是为已经“喜欢”该 URL 的用户在表单中附加一个参数,以便服务器在解析表单时能够知道该用户是否“喜欢”该 URL。

于 2014-07-06T14:56:38.960 回答
0
<p>Hey, check out my fiddle, should give you a big help.</p>

http://jsfiddle.net/972NF/

于 2014-07-08T04:48:37.123 回答