不能注销用户从网站时,他们使用连接通过facebook
Cant logout users from site when they use connect via facebook
Ok,我做了一个代码,我将用户连接到我的数据库,然后我设置为登录到该用户,如果电子邮件已经在数据库中,我只是登录用户…
问题是注销按钮不工作。我试过了。
session_start();
session_destroy();
在登出,但一旦被重定向到索引页,(我认为是再次登录)
我怎样才能避免这个……
编辑:我不希望用户从facebook注销。刚刚退出我的网站
这是我的代码。
<?php
if ($userId) {
//
// already logged? show some data
$userInfo = $facebook->api('/' + $userId);
if (isset($userInfo['email']))
{ include "facebookregister.php"; } else { echo "no hay permisos de facebook"; }
} else {
//
// use javaascript api to open dialogue and perform
// the facebook connect process by inserting the fb:login-button
?>
<div id="fb-root"></div>
<fb:login-button scope='email,user_birthday'></fb:login-button>
<?php
}
?>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : <?=YOUR_APP_ID?>,
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.Event.subscribe('auth.login', function(response) {
// ------------------------------------------------------
// This is the callback if everything is ok
window.location.reload();
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
和登出。
function logout_action()
{
$srv_nms=BASE;
$srv_nms=str_replace("http://","",$srv_nms);
$srv_nms=str_replace("https://","",$srv_nms);
$srv_nms=str_replace("www.","",$srv_nms);
$srv_pats=$srv_nms;
$srv_nms_arr=explode("/",$srv_nms);
$srv_nms=$srv_nms_arr[0];
$srv_pats=str_replace($srv_nms."/","",$srv_pats);
setcookie(COOKIE_LOGINID,"",0,"/".$srv_pats,$srv_nms);
setcookie(COOKIE_USERNAME,"",0,"/".$srv_pats,$srv_nms);
setcookie(COOKIE_PASSWORD,"",0,"/".$srv_pats,$srv_nms);
session_start();
session_destroy();
header("Location: ".$this->make_url("user/login/l"));
die;
}
我想我会使用cookie。注销时,设置一个cookie,告诉您已经请求注销。然后在主页上,在从facebook API抓取数据之前,检查cookie。显然,您必须在登录时覆盖或过期cookie…但这应该能解决你的问题。
在注销操作中,您将通过session_destroy退出,这将仅在服务器中清除会话,而不是在api中。
所以你需要$facebook->api注销请求从facebook完全注销。注意:注销请求请参考api文档
相关文章:
- Phantomjs 与 Facebook 的连接无法通过 SSL 握手
- Facebook共享连接js非常慢
- Facebook已连接但我的用户是一个空对象
- Facebook 连接唯一的秘密用户标识符
- 将标题标签与数据库连接并使其自动刷新,就像在Facebook标题中一样
- Phonegap/Cordova facebook 登录在已经连接时不起作用
- 在Sencha Touch 2中使用oAuth连接Facebook
- Facebook如何将“喜欢”按钮连接到您的FB帐户
- Facebook API:检查用户是否在连接时登录
- 如果用户连接/断开与Facebook的连接,则动态更新页面
- 已登录Facebook,但未连接到我的应用程序
- 使用JavaScript连接Facebook
- Facebook连接:Can't使用PHP SDK+JS SDK注销
- Facebook连接问题
- Facebook注销/断开连接FB.login()在用户已经连接时调用
- Javascript:如何检测facebook连接超时错误
- Facebook连接未启动
- Facebook连接-需要电子邮件和用户喜欢
- 我需要采取行动的Facebook连接脚本错误
- Facebook连接,验证一个网站., amp;和,