ユーザーが私のファンページかどうかを確認するスクリプトを以下に示します。はいの場合、別のページにリダイレクトされます。そうでない場合は、先に進む前にページに「いいね!」するためのいいねボックスが表示されます。
スクリプトが機能する場合と機能しない場合があります。500 内部サーバー エラーが発生したため、header() に問題があると予想されます。しかし、私はすでに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>