如何为php Facebook SDK实现fan gate

如何为php Facebook SDK实现fan gate,php,facebook,facebook-like,facebook-php-sdk,Php,Facebook,Facebook Like,Facebook Php Sdk,我正在尝试创建一个facebook fangate选项卡 我正在使用这个代码 <?php // create the Facebook Graph SDK object require_once('facebook.php'); $facebook = new Facebook(array( 'appId'=>'xxx', // replace with your value 'secret'=>'xxxxx' //

我正在尝试创建一个facebook fangate选项卡

我正在使用这个代码

<?php 

    // create the Facebook Graph SDK object
    require_once('facebook.php');
    $facebook = new Facebook(array(
        'appId'=>'xxx', // replace with your value
        'secret'=>'xxxxx' // replace with your value
            ));
    $signedRequest = $facebook->getSignedRequest();

    // Inspect the signed request
    if($signedRequest['page']['liked'] == 1){
        echo 'pageid ' + $signed_request["page"]["id"]; 
        include('like.php');

    } else {
        echo 'pageid ' + $signed_request["page"]["id"]; 
        include('noLike.php');

    }
?>
但它似乎不起作用,页面id显示为零。它始终显示nolike.php文件

我也试过这个代码

$app_id = "xxx";
$app_secret = "xxxx";
$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){
       include('like.php');
    }else{
        include('noLike.php');
 }

?>
这也只显示noLike.php文件

这里有一个类似的页面


你知道为什么我不能$signed_请求[page][liked]总是计算为false

print_r$signed_请求。我很想知道在signed_请求上的print_r实际上也显示了什么。我修复了它,这是因为我将facebook指向了www.example.com/facebookPage/而不是www.example.com/facebookPage/index.php