2014-01-31 2 views
0

Я использую php для серверной части. Как вы уничтожаете один сеанс, не разрушая другой сеанс. Позволь мне объяснить. Я создал форму, где вместо использования обычных переменных я использую переменные сеанса. Когда форма отправлена, я использовал session_destroy() в конце сообщения, чтобы очистить страницу, но она также отлаживает меня, уничтожая сеанс регистрации. Как я могу просто уничтожить переменные сеанса формы без разрушения сеанса входа в систему. Извините за реальность noobish.PHP: Destroying SESSIONS

ответ

0

Вы можете удалить переменные сеанса, как и любой другой переменной PHP:

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

session_destroy() уничтожает все данные, связанные с текущей сессией.

Что вам нужно unset очистить какую-либо конкретную сессию с указанием его ключом, как:

unset($_SESSION['your_vars']);

Reference.

0

Функция session_destroy() полностью удалит сеанс.

session_destroy() уничтожает все данные, связанные с текущей сессией . Он не отменяет никаких глобальных переменных, связанных с сеансом , или не удаляет файл cookie сеанса. Чтобы снова использовать переменные сеанса , необходимо вызвать session_start().

Чтобы убить сеанс вообще, как и для выхода из системы, необходимо также отключить идентификатор сеанса . Если куки-файл используется для распространения идентификатора сеанса (поведение по умолчанию), то cookie сеанса должен быть удален . Для этого может использоваться setcookie().

использование unset($_SESSION['session_var']);

снята с охраны() уничтожает указанные переменные.

Поведение функции 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']);