使用PHP SDK注销Facebook?
这个例子实际上是从Facebook复制的 当我访问该页面时,行为很奇怪: 首先“登录”似乎可以正常工作。然后显示“注销”链接。但是当我点击它的时候 我再次看到完全相同的屏幕,再次出现“注销”链接。刷新也会达到同样的效果 屏幕 不过,在Facebook上查看时,我确实会被注销 如果我关闭浏览器并重新打开它,“登录”现在会正确显示使用PHP SDK注销Facebook?,php,facebook,sdk,logout,Php,Facebook,Sdk,Logout,这个例子实际上是从Facebook复制的 当我访问该页面时,行为很奇怪: 首先“登录”似乎可以正常工作。然后显示“注销”链接。但是当我点击它的时候 我再次看到完全相同的屏幕,再次出现“注销”链接。刷新也会达到同样的效果 屏幕 不过,在Facebook上查看时,我确实会被注销 如果我关闭浏览器并重新打开它,“登录”现在会正确显示 <?php require 'facebook.php'; $facebook = new Facebook(array( 'appId' => 'x
<?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。
这对我有用。。创建一个logout.php文件
<?php
session_start(); //start session
$_SESSION = array(); //clear session array
session_destroy(); //destroy session
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Log Out</title>
</head>
<body>
<p>You have successfully logged out!</p>
<p>Return to the <a href="....index.php">Home</a> page</p>
</body>
</html>
使用$logoutUrl注销用户
<?php if ($user): ?>
<?php echo "Welcome, ".$me['first_name']. " " .$me['last_name'] ." <br />";
echo "Id: " . $me['id'] ." <br />"; ?>
<a href="<?php echo $logoutUrl; ?>"> Logout </a> <br />
<?php else: ?>
<a href="<?php echo $loginUrl; ?>">
<img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif"> </a>
<?php endif ?>
希望它能很好地工作单击注销后清除所有cookies。是的-这里似乎有这样一个解决方案:尝试了很多其他解决方案,但这马上就成功了。
if ($user) {
$params = array( 'next' => 'http://....../logout.php' );
$logoutUrl = $facebook->getLogoutUrl($params);
} else {
$loginUrl = $facebook->getLoginUrl();
}
<?php if ($user): ?>
<?php echo "Welcome, ".$me['first_name']. " " .$me['last_name'] ." <br />";
echo "Id: " . $me['id'] ." <br />"; ?>
<a href="<?php echo $logoutUrl; ?>"> Logout </a> <br />
<?php else: ?>
<a href="<?php echo $loginUrl; ?>">
<img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif"> </a>
<?php endif ?>