我有一個logout.php
文件,它實際上完成了它所說的操作,通過銷燬會話並將它們重定向回登錄頁面,從應用程序註銷用戶。在Internet Explorer中會話沒有被破壞
<?php
session_start();
if(isset($_SESSION) &&
!empty($_SESSION))
{
$con = mysqli_connect("localhost",
"root",
"",
"ctp");
$associate = $_SESSION[ 'user' ];
date_default_timezone_set('Asia/Kolkata');
$tn = time();
$dateTime = date("Y-m-d H:i:s",
$tn);
$sql = "INSERT INTO ind_ctp_workflow_log
VALUES ('CTPLogoutButton',
'CTP - Logout',
'$associate',
'$dateTime')";
mysqli_query($con,
$sql);
unset($_SESSION);
session_destroy();
header("Location:index.php?r=site/login");
}
else
{
echo 'There is no active session<br>\n
echo '<a href = "index.php?r=site/login">\n'
echo ' Click here\n';
echo '</a>\n';
echo 'to login';
}
?>
這正常的瀏覽器,但不能在IE瀏覽器,它遵循的工作流程是:
1)登錄頁 - 沒有設置會話,因此顯示此頁
2)主頁 - 會話設置,所以留在這兒,否則去到登錄頁面
3)的註銷頁面 - 刪除會話,請登錄頁面
4)登錄頁面 - 會話集,去主頁
因此我可以理解,會話不會在IE中被刪除。這工作正常,在Mozilla也
在瀏覽器,Mozilla的第4步更改
4)登錄頁 - 沒有設置會議,留在這兒
有在所以很少有問題,而這些都是所有4年前,對於我的情況並沒有一個非常令人信服的答案。
此$ _SESSION =陣列(); –
你可以發佈你的登錄頁嗎?你可能想在你的會話中設置一個索引,比如$ _SESSION('is_logged_in')... – chickenchilli
@chickenchilli登錄頁面是用yii框架編寫的。所以它有跨不同頁面的模塊。並沒有具體的登錄頁面 –