我试图找出下面这段代码有什么问题,每当我尝试使用Internet Explorer注销时,我无法做到这一点,它只是几次重新加载或关闭浏览器后退出。即使在注销IE 8和9后,会话也不会被破坏
<?php
//Start session
session_start();
require("../../class-settings.php");
function write_at_sess_destroy(){
$time=date('h:i:s A',time());
$sql="update " . DB_PRE."user_master set `guid` = '',`user_first_login`='0' WHERE user_id ='". $_SESSION['user']."'";
$sql_log= "update " . DB_PRE."user_log set logout_time='$time' where user_id='{$_SESSION['user']}' and logger_id='{$_SESSION['DYNAMIC_LOGGER_ID']}'";
if(mysql_query($sql))if(mysql_query($sql_log)) return true;
}
if(write_at_sess_destroy()){
function unset_sessions(){
session_start();
if($_SESSION['adminlang'])unset($_SESSION['adminlang']);
unset($_SESSION['loginID']);
unset($_SESSION['utype']);
return true;
}
if(session_destroy()){
header("Location:../../../");
exit;
}
else{
echo "error...";
}
}
?>
您从哪里调用'unset_sessions'?为什么这个函数有'session_start'? – Daniel
不知道这是否是错误,但HTTP/1.1头文件需要一个绝对URI作为参数»Location:而不是相对位置../../../参见:http://de2.php。 net/manual/en/function.header.php – donald123
您可以在注销时将会话值设置为false,然后根据值是否为false来确定登录状态? –