3

这是我的代码:

    <?php
require_once("facebook-php-sdk/src/facebook.php");
    define('YOUR_APP_ID', 'xxxxxxxxxxxxx');
    define('YOUR_APP_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxxx');
    $facebook = new Facebook(array(
     'appId' => YOUR_APP_ID,
     'secret' => YOUR_APP_SECRET,
    ));
    $userId = $facebook->getUser();
    if($userId){
         $userInfo = $facebook->api('/' + $userId);
         $fbid = $userInfo['id'];
         $params = array();
         echo '<a href='.$facebook->getLogoutUrl($params).'><div class="text-facebook"><img style="vertical-align:middle;" src="/img/fbicon.png">Logout</div></a>';                         
               }
                else{
                  $permission = array('scope' => 'email');
                  echo '<a href='.$facebook->getLoginUrl($permission).'><div class="text-facebook"><img style="vertical-align:middle;" src="/img/fbicon.png">Login with Facebook</div></a>';
                     }
?>

登录效果很好,但是当我单击“注销”按钮时,它会让我退出 facebook.com,但它仍然登录在我的网站上,这与我想要的完全相反。我希望该链接从我的网站上删除所有 facebook 信息,但让用户登录到 facebook。

我不知道我是否正确解释了我需要什么,但如果有人问我会澄清的。

4

2 回答 2

1

如果您希望用户从您的网站注销但保持登录到 facebook,那么答案很简单:

不要使用 facebook->getlogouturl()

如果在成功登录后,您将一个变量设置为 true,并使用它来允许您仅授予已登录用户的操作,那么您的注销按钮所需要做的就是将该变量设置为 false。

于 2013-02-21T07:30:20.173 回答
0

这里的问题不是注销链接(它工作正常,因为它使您退出 Facebook),而是您的网站如何检查您是否仍然登录到 Facebook

您使用的 Facebook API 只处理 Facebook 的事情。登录链接将使您登录 Facebook,注销链接将使您退出 Facebook。它不会直接影响您的网站。

您需要了解您的网站如何决定您是否仍登录 Facebook,然后从那里开始。

于 2013-02-20T14:52:58.610 回答