这个例子实际上是从Facebook复制的。用PHP SDK登出Facebook?
当我访问页面时,行为很奇怪: “login”第一次似乎很好。然后它显示'注销'链接。但是当我点击它 我再次获得完全相同的屏幕,再次点击“注销”链接。刷新也会到达相同的屏幕 。
使用Facebook进行检查,但是,它会将我注销。
如果我关闭浏览器并重新打开它,现在“登录”已正确显示。
<?php
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$params = array('next' => 'http://xxxxxxxxxx');
$logoutUrl = $facebook->getLogoutUrl($params);
} else {
$params = array('redirect_uri' => 'http://xxxxxxxxxx');
$loginUrl = $facebook->getLoginUrl($params);
}
?>
<!doctype html>
<html>
<head></head>
<body>
<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout</a>
<?php else: ?>
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
<?php endif ?>
<?php if ($user): ?>
Picture = <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
User Object = <?php print_r($user_profile); ?>
<?php else: ?>
User is not Connected.
<?php endif ?>
</body>
</html>
清除所有Cookie,然后在注销的点击。 – gaurav 2013-02-18 19:37:49
是的 - 它似乎有这样的解决方案在这里: http://stackoverflow.com/questions/10366366/facebook-php-sdk-will-not-logout-properly – 2013-02-18 20:57:43