好的我做了一个代码,我将用户连接到我的数据库,然后我设置为登录该用户,如果电子邮件已经在数据库中我只是登录用户...
问题是退出按钮不起作用..我试过了。
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;
}
答案 0 :(得分:1)
我想我会使用一个cookie。注销后,设置一个cookie,告诉您已请求注销。然后在主页上,在从facebook API获取数据之前,检查cookie。显然,您必须在登录时覆盖或过期cookie ...但这应该为您解决。
答案 1 :(得分:0)
在注销操作中,您将通过session_destroy注销,这将仅清除服务器中的会话,而不是在api中。
所以你需要make facebook-facebook-&gt; api logout请求从facebook完全注销。 注意:请参阅api文档以了解注销请求。