2017-07-27 124 views
0

我正在为客户做一个网站,他们正在使用Facebook登录..当我登录并注销Facebook时,它工作正常。但是,当我登录后不久登录时,它会自动以登录前人员的身份登录。我的问题是如何销毁(我假设会话或cookie)存储信息,或者是否需要过期访问令牌?无论哪种方式,如果任何人有一个解决方案已经为他们工作最近作为一个快速解决方案正在变成一个长期的问题,因为这个徘徊。Facebook注销会话

session_start(); 
session_unset(); 
$_SESSION['FBID'] = NULL; 
$_SESSION['FULLNAME'] = NULL; 
$_SESSION['EMAIL'] = NULL; 
$_SESSION['valid'] = NULL; 
header("Location: " ."http://www.muchogusto.net"); 
+0

无码,你是不是有可能得到在这里回答 – FKEinternet

+0

会话_开始(); session_unset(); $ _SESSION ['FBID'] = NULL; $ _SESSION ['FULLNAME'] = NULL; $ _SESSION ['EMAIL'] = NULL; $ _SESSION ['valid'] = NULL; header(“Location:”。“http://www.my-site.net”); – DennisOakdale

+0

我建议你将它添加到你的问题,所以它的格式正确 – FKEinternet

回答

0

session_destroy()手册页

为了完全终止会话,会话ID也必须给予取消。如果使用cookie来传播会话ID(默认行为),那么会话cookie必须被删除。 setcookie()可用于此目的。


编辑

这是我用:

session_start(); 
session_destroy(); 
setcookie('PHPSESSID','',time()-864000,'/'); // persistent cookie 
setcookie('PHPSESSID','',0,'/'); // session cookie 

添加您的代码之后:

session_unset(); 
$_SESSION['FBID'] = NULL; 
$_SESSION['FULLNAME'] = NULL; 
$_SESSION['EMAIL'] = NULL; 
$_SESSION['valid'] = NULL; 
header('Location: http://www.muchogusto.net'); 
+0

setcookie()不起作用 – DennisOakdale

+0

“不起作用” - 怎么样?顺便说一句,'setcookie'在任何*写入浏览器之后无法使用。 – FKEinternet

+0

不起作用,因为只要我在注销后点击登录按钮,它就会自动执行st生病日志回到以前的Facebook用户登录。 – DennisOakdale