【发布时间】:2013-02-18 19:34:25
【问题描述】:
这个例子其实是从 Facebook 复制过来的。
当我访问该页面时,行为很奇怪: “登录”首先似乎工作正常。然后它会显示“注销”链接。但是当我点击它时 我再次看到完全相同的屏幕,再次显示“注销”链接。刷新也一样 屏幕。
但是,通过 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然后点击注销。
-
是的——这里似乎有这样的解决方案:stackoverflow.com/questions/10366366/…