2012-05-27 40 views
0

當我通過單擊[x](而不是onunload)關閉頁面時,如何取消設置SESSION。 我想在打開頁面和關閉時插入,但我不想在刷新時插入。如何在頁面關閉時取消設置會話?

if (!isset($_SESSION["visits"])) 
    $_SESSION["visits"] = 0; 
    $_SESSION["visits"] = $_SESSION["visits"] + 1; 
if ($_SESSION["visits"] > 1){echo "You hit the refresh button!";} 
else{ 
    mysql_query(
     "INSERT INTO najd_visit(visit_userId, visit_staticId, visit_page, 
      visit_enterTime)VALUES ('$userId', '$Sid', '$title', '$date') "); 
    echo "This is my site"; 
    //unset($_SESSION["visits"]); 
} 
+2

你不能輕易做到這一點,客戶端將不得不回調服務器來做到這一點。爲什麼不會有會話超時? – craig1231

+0

我想插入時打開頁面,什麼時候關閉,但我不想插入時刷新 – user1364008

+0

不是每個打開的窗口最終會關閉嗎? – craig1231

回答

0

通過將會話cookie的過期時間設置爲0,它將在瀏覽器完全關閉時自動清除。

這不完全是你要找的東西(它只會在整個瀏覽器關閉時清除會話),但它應該足夠好。

+0

我測試一下,沒有工作 – user1364008

+0

嘗試[釋放你的會話緩存](http://www.php.net/manual/en/function.session-cache-expire.php) –

相關問題