我想在php中使用會話,並沒有變得很遠。我所有的php頁面都是通過單個「門戶頁面」中的ajax調用的。我使用會話在ajax調用之間存儲信息。我有一個包含文件,它是每個ajax頁面中第一個將session_start作爲第一個方法調用的文件。會話數據似乎可以保存。但是,當我在用戶註銷頁面完成時,我遇到了擺脫會話的問題。 登出頁面是一個Ajax網頁基本上做到這一點:php session_destroy後不會丟失會話數據
session_start();
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,$params["path"], $params["domain"], $params["secure"], $params["httponly"]);
}
//code to unset session variables
session_destroy();
,如果我嘗試寫會話變量的註銷頁面在屏幕上它是空的,因爲你所期望的。但是,如果我刷新門戶網站頁面並顯示session_id屏幕,它與上次會話剛剛被銷燬的ID相同。如果我關閉瀏覽器並再次打開它,我有一個新的會話
php會話cookie在註銷頁面被調用後仍然在瀏覽器cookie中。自然頁面刷新將加載這個cookie。爲什麼cookie不被刪除?我的代碼有問題,或者它與ajax頁面有關?
你爲什麼在那裏設置一個cookie?爲什麼要調用'$ _SESSION = array();'? – kelunik
難道是你仍然保存會話ID在URL或隱藏的表單字段? –
你確定你不是程序員嗎? –