我試圖找出下面這段代碼有什麼問題,每當我嘗試使用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來確定登錄狀態? –