这个例子实际上是从 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>