我在下面有脚本来检查用户是否是我的粉丝页面。如果是,他们将被重定向到另一个页面。如果没有,他们将在继续之前显示一个喜欢的框来喜欢该页面。
该脚本有时有效,但有时无效。我希望这与 header() 有问题,因为它出现 500 内部服务器错误。但是,我已经放了 ob_start()。这不应该解决问题吗?
<?
ob_start();
require_once('../../src/facebook.php');
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
// Init facebook api.
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => false,
));
//Facebook Authentication part
$user_id = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream, user_likes'
)
);
if (!$user_id) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
$likes = $facebook->api("/me/likes/PAGE_ID");
if( !empty($likes['data']) ){
ob_end_clean();
header ('location: xyz.php'); //if is a fan, redirect to xyz.php
exit;
} else {
continue; //if not a fan, show below html code
}
?>
<HTML>
.
.
Please like page first
.
.
</HTML>