如何通过JavaScript(Facebook SDK)设置PHP会话

如何通过JavaScript(Facebook SDK)设置PHP会话,facebook,facebook-javascript-sdk,facebook-php-sdk,facebook-apps,facebook-login,Facebook,Facebook Javascript Sdk,Facebook Php Sdk,Facebook Apps,Facebook Login,我正在使用Facebook的SDK创建一个登录功能。我正在使用以前项目中的代码,该项目有一个登录按钮,将重定向到Facebook域上的登录框(即,登录框不是弹出窗口,而是重定向用户) 在上一个项目中,当用户在接受应用程序后返回站点时,有一个PHP脚本创建了一个$\u会话: $user = $facebook->getUser(); if (isset($user)){ $_SESSION['LoggedIn'] = $user; } 然后,我可以使用“LoggedIn”会话检查用

我正在使用Facebook的SDK创建一个登录功能。我正在使用以前项目中的代码,该项目有一个登录按钮,重定向到Facebook域上的登录框(即,登录框不是弹出窗口,而是重定向用户)

在上一个项目中,当用户在接受应用程序后返回站点时,有一个PHP脚本创建了一个
$\u会话

$user = $facebook->getUser();
if (isset($user)){
    $_SESSION['LoggedIn'] = $user;
}
然后,我可以使用“LoggedIn”会话检查用户是否登录,并基于此修改页面(例如,替换页面上的内容)

这里是我的问题——我现在使用的是Facebook提供的弹出式登录框的JS代码。我猜在用户从登录弹出窗口接受应用程序后,我需要从JavaScript中启动会话?问题是我不知道怎么

 $(".facebookButton").click(function(){          
     FB.login(function(response) {
        if (response.authResponse) {
           //User accepted the app -I need to start the SESSION here?
         } else {
           //User hasn't accepted the app.
         }
      });
  });

基本上,我试图实现的是让网站知道用户是否登录,即使他们刷新了页面。谢谢你的帮助

当用户使用JavaScript SDK登录时,会立即在您的站点上删除一个cookie及其身份验证详细信息。PHP SDK也可以准备好丢弃的cookie,因此您真正需要做的就是刷新页面,以便PHP SDK检测用户:

$(".facebookButton").click(function(){          
   FB.login(function(response) {
      if (response.authResponse) {
         // reload page
         location.reload();
       } else {
         // User hasn't accepted the app.
       }
    });
});