2014-01-31 96 views
0

我在服務器端使用php。如何在不破壞另一個會話的情況下銷燬一個會話。讓我解釋。我創建了一個表單,而不是使用常規變量,而是使用會話變量。當提交表單時,我在帖子的末尾使用了session_destroy(),這樣可以清除頁面,但它也會將我註銷,破壞登錄會話。我怎麼能在不破壞登錄會話的情況下銷燬窗體會話變量。對不起真正的不好意思。PHP:銷燬SESSIONS

回答

0

您可以刪除會話變量像任何其他PHP變量:

unset($_SESSION['whatever']); 
1

session_destroy()銷燬所有與當前會話相關的數據。

你需要的是unset與指定它的鍵像以清除任何特定的會話:

unset($_SESSION['your_vars']);

Reference

0

函數session_destroy()將完全刪除會話。

session_destroy()銷燬與當前的 會話相關的所有數據。它不會取消設置任何與會話相關的全局變量,也不會取消設置會話Cookie。要再次使用會話變量 ,必須調用session_start()。

爲了完全消除會話,例如將用戶登錄出去,還必須取消設置會話ID。如果使用cookie傳播會話ID(默認行爲),那麼會話cookie必須被刪除,其中 。 setcookie()可用於此目的。

使用unset($_SESSION['session_var']);

未設置(),刪除指定的變量。

函數內部的unset()的行爲可能會因您嘗試銷燬的變量類型而異,具體取決於 。

如果函數內部的全局變量unset(),則只有局部變量 被銷燬。調用環境 中的變量將保持與調用unset()之前相同的值。

0

你可以使用 unset($ _ SESSION ['var']);

2

避免很多會話unset()你可能會這樣使用。

<?php 
$_session["form_values"]["data1"]=form data1; 
$_session["form_values"]["data2"]=form data2; 
$_session["form_values"]["data2"]=form data3; 
?> 

保存後的值,只是像這樣取消設置。

<?php 
unset($_session["form_values"]); 
?> 

希望這可以節省您。

0

,你可以簡單地使用未設置清除特定會話

unset($_SESSION['session name here']);