无法使用$ facebook-> destroySession()退出PHP Facebook应用程序;

时间:2013-06-05 21:44:52

标签: php facebook logout

我一直在尝试根据Facebook API文件夹中提供的示例使用PHP创建一个基本的Facebook应用程序。

我遵循的步骤是:

  1. 打开http://sports-admin.tamu.edu/devsite/sarvesh/facebook-php-sdk-master/examples/test_fb.php

  2. 点击登录

  3. 在新页面上输入Facebook用户名和密码

  4. 我被重定向回./test_fb.php并显示我的信息。

  5. 我单击Logout,然后使用Login链接重定向回原始页面

  6. 但是现在当我点击登录时,它不会向我询问我的凭据并直接登录我。

  7. 请建议一种方法,我将完全退出Facebook,点击登录后,我将始终询问用户名和密码。

    这是html代码:

    <body>
    <h1>php-sdk</h1>
    
    <?php if ($user): ?>
    <a href='?logoff' >Logout</a> 
    <?php else: ?>
      <div>
        Login using OAuth 2.0 handled by the PHP SDK:
        <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
      </div>
    <?php endif ?>
    
    <h3>PHP Session</h3>
    <pre><?php  print_r($user_profile); ?></pre>
    
    <?php if ($user): ?>
      <h3>Your Display Picture</h3>
      <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
      <h3>Hello</h3>
      <h3><?php echo($user_profile["name"]); ?></h3>
    <?php else: ?>
      <strong><em>You are not Connected.</em></strong>
    <?php endif ?>
    

    这是用于注销的代码块。此代码与上面的html代码在同一个test_fb.php文件中编写

    if(isset($_GET['logoff'])=='1'){
    $facebook->destroySession();
    setcookie("fbs_MY-APP-ID", "", time()-3600);
    header("Location: test_fb.php");
    }
    

    我已经整天扫描了stackoverflow三天,但在我的情况下似乎没有任何效果。

1 个答案:

答案 0 :(得分:0)

Facebook API提供logoutURL,用于将用户从其当前的Facebook帐户中记录下来。

你可以这样得到它

$facebook = new Facebook($config);
$params = array('next' => 'http://mysite.com/test_fb.php' );
$logoutURL = $facebook->getLogoutUrl($params);

然而,在我看来,将用户退出Facebook并不是理想的行为。 Facebook登录的重点是在用户使用他/她的Facebook帐户授权应用程序后绕过手动登录。