2012-10-22 73 views
0

我想在我,所以我使用的代碼如何在窗口關閉時銷燬會話?

Java腳本代碼關閉窗口銷燬會話:

<script> 
function killSession() { 
    location = 'index.php?destroySession=true'; 
} 
</script> 

PHP代碼:

<?php 
    if (isset($_GET['destroySession']) && $_GET['destroySession'] == "true") { 
    session_destroy(); 
    $closeWin = "window.close()"; 
} else { 
    $closeWin = ""; 
} 
?> 

體:

<body onload="<?php echo $closeWin; ?>" onunload="killSession();"> 

但它並沒有給我足夠的迴應。我想在會議結束時窗戶關閉。它有可能嗎?

+1

我無法想象一個瀏覽器會允許這樣的世界。 –

+0

可能的重複:http://stackoverflow.com/questions/2839988/destroy-or-unset-session-when-user-close-the-browser-without-clicking-on-logout – Jan

+0

可能的重複[如何到期30分鐘後的PHP會話?](http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes) –

回答

0
$closeWin = "window.close()"; 
echo "<script>".$closeWin."</script>"; 
0

從您的代碼第一和做出改變刪除onload="<?php echo $closeWin; ?>"到你的PHP代碼如下:

<?php 
    if (isset($_GET['destroySession']) && $_GET['destroySession'] == "true") { 
     session_destroy(); 
     $closeWin = "window.close()";  
     echo "<script>".$closeWin."</script>"; 
} 
?> 

希望這將解決您的問題,當在瀏覽器關閉

+0

我已經試過這段代碼,但是當我們當時開始會話正在銷燬會話。 –

+0

對不起,但我沒有得到您的意見 – pkachhia

+0

我的意思是當我登錄爲用戶,會話開始並自動註銷。我想要銷燬會話時,我忘記註銷。我認爲這是行不通的有沒有其他方式?我在過去2天在谷歌上找到了,但我沒有得到安全的答案。如果你之前做過這種類型的工作,請幫助我。謝謝 –