【问题标题】:Logging out of a two account: facebook api and email account注销两个帐户:facebook api 和电子邮件帐户
【发布时间】:2014-06-04 09:24:16
【问题描述】:

我有一个网站,用户可以通过 Facebook API 或电子邮件帐户登录。在索引页面上,他们登录时会显示相应的数据。例如,如果用户使用 API 登录,他们可以看到他们的头像和 Facebook ID;而当用户通过电子邮件帐户登录时,他们可以看到他们在注册期间输入的所有数据。

问题是只有一个注销按钮。如何根据各自的会话进行配置

我尝试了以下代码,但没有成功。

<?php 
require 'fbconfig.php';
$facebook->destroySession();  // to destroy facebook sesssion
header("Location: " ."./");

 if(isset($_SESSION["Username"]))
{
    session_destroy();
    header("Location: " ."./");
    }

?>

谁能帮我解决这个问题?

【问题讨论】:

  • 您可以使用 REFERRER 来获取它来自哪个页面/媒体 - $_SERVER['HTTP_REFERER']
  • 如何使用它?我从未使用过 $_SERVER

标签: php facebook session facebook-graph-api


【解决方案1】:
<?php 
    require 'fbconfig.php';
    $facebook->destroySession();  // to destroy facebook sesssion
    # header("Location: " ."./"); // remove this as it does a redirection after logging out of facebook and thus won't log of the user session

    if(isset($_SESSION["Username"]))
    {
        session_destroy();
        header("Location: " ."./");
    }
?>

为了说明上述情况,试试这段代码。运行它,然后慢慢删除 die 语句,看看程序是如何流动的

<?php 
    require 'fbconfig.php';
    $facebook->destroySession();

    die("Before Facebook logout");

    header("Location: " ."./");

    die("After Facebook logout");

    if(isset($_SESSION["Username"]))
    {
        die("Before session logout");

        session_destroy();
        header("Location: " ."./");

        die("After session logout");
    }
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2015-11-29
    • 2015-11-01
    • 2021-06-16
    • 1970-01-01
    相关资源
    最近更新 更多