当用户喜欢某个页面选项卡时,将其重定向到另一个页面



我让这段代码可以工作,但现在不行了。。。

索引.php

<!doctype html>
<?php
require 'php-sdk/src/facebook.php';
$facebook = new Facebook(array(
            'appId' => '453976824647366',
            'secret' => 'fe86f3b0b34b3ed6eXXXXXX',
            'cookie' => true,
        ));
$signedRequest = $facebook->getSignedRequest();
$liked = $signedRequest["page"]["liked"];
        if ($liked) {
            header('Location:youlike.php');
        } else {
            echo "you don't like";
        }
?>
<html lang="en" xmlns:fb="https://www.facebook.com/2008/fbml">
    <head>

    </head>
    <body>
    </body>
</html>

你喜欢.php

You like!

它总是显示"你不喜欢",似乎从来没有像你一样进入。php

我们将再次感谢您的帮助!

thx

试试这个:

<!doctype html>
<?php
if (!empty($_POST['signed_request'])) {
    list($sig, $payload) = explode('.', $_POST['signed_request'], 2);
    $decoded = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
    $liked = $decoded["page"]["liked"];
}
if ($liked) {
    header('Location:youlike.php');
    exit;
}
else {
      echo "you don't like";
}
?>

因为您在iframe中,所以需要在最顶部的帧上执行重定向。

试试这个JavaScript-

top.location.href = "youlike.php";

使用php,您可以简单地回显如下代码-

echo '<script type="javascript">';
echo 'top.location.href = "'.$youlike.'";';
echo '</script>';
exit();

根据您的类前/类后页面的复杂性,您可能希望将所有内容都放在一个页面上,如果用户"喜欢"该页面,则只显示其中的某些部分。

if ($liked) {
  // place like post page HTML here
} else {
  // place like pre page HTML here
}

最新更新