我是ajax的新手,正在尝试创建一个onclick注销链接。我正在使用php并且需要在继续访问facebook注销网址之前销毁会话并删除会话cookie。
你能快速看一下,看看我做得对吗?它没有用,但是我想确保这个部分是在对我的大脑进行抨击之前编写的,试图找出问题所在。
这是链接:
<a href="<?PHP echo $logout; ?>" onclick="logout()">(Log Out)</a>
在html的head部分我有这个:
<script>
function logout()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","logout.php?action=logout",true);
xmlhttp.send();
}
</script>
logout.php文件包含:
<?PHP
if ($_GET['action']=="logout"){
unset( $_SESSION ) ;
unset( $_SESSION['user'] ) ;
unset( $_SESSION['fb'] ) ;
unset( $_SESSION['temp'] ) ;
unset( $_SESSION['access_token'] ) ;
$_SESSION['access_token'] = null;
delete_cookie();
$_SESSION = array();
session_destroy();
if (isset( $_COOKIE[session_name()] )) {
setcookie(session_name(), session_id(), time() -3600, "/" );
}
if (isset( $_COOKIE['PHPSESSID'] )) {
setcookie('PHPSESSID', "", time() -3600, "/" );
}
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"] );
}
}
function delete_cookie($cookie = "pptoken") {
setcookie($cookie, 0, time()-3600, "/");
}
?>
非常感谢你的帮助! :)