-1

Facebook SDKのログアウトにこのコードを使用していますが、機能していません。ただし、正常にログインできます。これがコードです。

if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} 
else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'user_about_me, user_hometown')
);
}

?>

<?php if ($user){ ?>
<a href="<?php echo $logoutUrl; ?>">Logout Here</a>
<?php }else{ ?>
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
<?php }?>
4

1 に答える 1

1

デフォルトの Facebook SDKは、 php の組み込みセッション実装を使用してデータを保存します。これらのうち、最後にログインしたユーザー IDです。

ユーザーがログアウト リンクをクリックすると、facebook はユーザーをログアウトし、ユーザーをサイトに送り返しますが、facebook はサイトの の値を削除できません$_SESSIONnextにパラメーターを追加して$facebook->getLogoutUrl()、facebook がユーザーをそこに送り返すようにします。(すべてのユーザーがログアウトした後) session_destroyを使用してセッション全体をクリアできます。

Facebook固有の値だけでセッション全体をクリアしたくない場合は、クラスにdestroySessionBaseFacebookと呼ばれるメソッドがあります(何らかの理由で、公式のSDKドキュメントにリストされていません)。

于 2012-08-03T06:16:31.340 に答える