如何通过JavaScript(Facebook SDK)设置PHP会话
我正在使用Facebook的SDK创建一个登录功能。我正在使用以前项目中的代码,该项目有一个登录按钮,将重定向到Facebook域上的登录框(即,登录框不是弹出窗口,而是重定向用户) 在上一个项目中,当用户在接受应用程序后返回站点时,有一个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”会话检查用
$\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.
}
});
});