我的Facebook应用程序加载了两次

时间:2013-03-04 16:09:01

标签: php facebook facebook-php-sdk

我使用 facebook php-sdk 编写了facebook app。我想将它整合到有趣的页面。因此,当用户首先访问我的应用程序时,他必须单击按钮然后使用应用程序。我使用var_dump()函数查看在加载应用期间$like_status变量会发生什么。首先$like_status = false,因为用户没有点击按钮,但是当用户点击按钮页时重新加载,$like_status变量变为NULL,页面加载相同的图片,没有像tab一样的页面。我认为我的网页重新加载了两次,$like_status变量变为NULL。这是我的申请链接https://www.facebook.com/pages/Tasty-Applications/456339624439381?id=456339624439381&sk=app_570550412956864。我希望我的问题清晰可读。我需要帮助。这是我的代码。

 <?php
 require_once('facebook.php');
 $app_id = 'app_id';
 $my_url = "https://apps.facebook.com/losts_app/";
 $config = array(
 'appId' => 'app_id',
 'secret' => 'app_secret',
 'fileUpload'  => true,
 'cookie' => true,
 );
 $facebook = new Facebook($config);
 $signed_request = $facebook->getSignedRequest();


$like_status = $signed_request["page"]["liked"];



$code = $_GET["code"];

if($like_status)
 {


 session_start();
 $code = $_GET["code"];

 if(empty($code))
 {     
   $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
   . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
   . $_SESSION['state']."&scope=read_stream, user_photos, publish_stream";

   echo("<script> top.location.href='" . $dialog_url . "'</script>");
  }
 else {
  //here is my application main content...
  }
}
else
{

   echo('<image src="Like.jpg" />');
   // Here is content that must encourage user to like the page
}
?>

0 个答案:

没有答案