Facebook的API不会退出
的index.php:Facebook的API不会退出
blablabl
<?php include("fb-api/****-api.php"); ?>
blablabal
<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout</a>
<?php else: ?>
<div>
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
</div>
<?php endif ?>
* * -api.php:
<?php
require 'src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => '******',
'secret' => '***********',
));
$user = $facebook->getUser();
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
?>
链接:http://music.x-game.info/ 好吧,我登录没有任何问题,但是当我按下退出链接它不退出我,任何想法?
而不是使用facebook-> getlogouturl 将用户重定向到另一个文件:logout.php ,包括这个:
<?php
$facebook->destroySession();
session_destroy();
?>
注销后,用户将进入您的主页并自动登录,因为$ user变量将被设置。
您可以使用数据库来控制登录/注销。
AHAM,我可以让我的索引只检查,如果用户登录,并如果不是不这样做? –
实际上,Facebook没有登录/注销功能。如果有人进入运行$ user = $ facebook-> getUser()的页面;代码,$ user变量将始终设置。你必须使用一个数据库,它可能是txt文件。 查看数据库,如果用户$ [“facebookid”]注销,然后重定向到登录页面。 – tersakyan
将创建注销URL时的redirect_uri设置为http://yourdomain.tld/logout.php
之类的内容。
在该脚本中,首先再次初始化Facebook SDK,将其称为destroySession
方法,然后调用PHP自己的session_destroy
。
然后重定向到您的首页或任何其他。
这样做。这工作。整个getLogoutUrl()不起作用。 –
这是Facebook不允许*,因为它不会将用户从Facebook上签名。根据政策I.6,'“您的网站必须提供明确的‘退出’选项,还注销用户的Facebook的。”'从https://developers.facebook.com/policy/取 – andrewtweber