Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP: Вопрос про unset () и сессий 
:(
    Опции темы
web_VIP
Дата 29.12.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 8.9.2007

Репутация: нет
Всего: нет



У меня возник вопрос как разрегистрировать несколько сессий. 
Одну сессию можно разрегистрировать так: Код: 
unset($_SESSION['session_name']); 
, а вот как разрегистрировать 2 или более сессий что то не пойму, может подскажете?
PM MAIL   Вверх
skyboy
Дата 29.12.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(web_VIP @  29.12.2007,  10:48 Найти цитируемый пост)
Одну сессию можно разрегистрировать так: Код: unset($_SESSION['session_name']); 

это не "разрегистрация сессии". это "удаление" переменной сессии.
может, расскажешь не что, а зачем тебе надо?
PM MAIL   Вверх
GZep
Дата 29.12.2007, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



bool session_destroy();//уничтожает хранилище сессии, но массив $_SESSION не уничтожается

Полное удаление сессии:
Код

$_SESSION = array();//очищаем массив
@unset($_COOKIE[session_name()]);//удаляем куки, соответствующие SID (session id)
session_destroy();//уничтожает хранилище сессии


Это сообщение отредактировал(а) GZep - 29.12.2007, 13:36


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
FractalizeR
Дата 29.12.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



Цитата(skyboy @ 29.12.2007,  12:03)
Цитата(web_VIP @  29.12.2007,  10:48 Найти цитируемый пост)
Одну сессию можно разрегистрировать так: Код: unset($_SESSION['session_name']); 

это не "разрегистрация сессии". это "удаление" переменной сессии.
может, расскажешь не что, а зачем тебе надо?

Это не удаление переменной сессии, это ужас какой-то smile session_name я так понимаю, должно было символизировать текущую сессию. Т.е. web_VIP скорее всего предполагает, что $_SESSION хранит вообще все сессии, а не только текущую. Отсюда и его вопрос: как удалить все остальные smile)


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
web_VIP
Дата 31.12.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 8.9.2007

Репутация: нет
Всего: нет



Цитата(FractalizeR @ 29.12.2007,  19:28)
Это не удаление переменной сессии, это ужас какой-то smile session_name я так понимаю, должно было символизировать текущую сессию. Т.е. web_VIP скорее всего предполагает, что $_SESSION хранит вообще все сессии, а не только текущую. Отсюда и его вопрос: как удалить все остальные smile)

Хоть кто то меня понял smile, но так никто и не ответил :-(, поясняю вопрос, у меня например есть 5 сессий:
Код
$_SESSION['text_1'];
$_SESSION['text_2'];
$_SESSION['text_3'];
$_SESSION['text_4'];
$_SESSION['text_5'];

Мне нужно удалить(разрегистрировать) все сесиий, кроме:
Код
$_SESSION['text_2'];








PM MAIL   Вверх
FractalizeR
Дата 31.12.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



Цитата

$_SESSION['text_1'];
$_SESSION['text_2'];
$_SESSION['text_3'];
$_SESSION['text_4'];
$_SESSION['text_5'];


Это не пять сессий, а пять переменных в одной и той же сессии. Пожалуйста, прочитайте документацию по сессиям  и вам все станет понятно. Для уничтожения переменной внутри сессии можно использовать unset(). Т.е. в вашем случае
Код

unset($_SESSION['text_1']);
unset($_SESSION['text_3']);
unset($_SESSION['text_4']);
unset($_SESSION['text_5']);



--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
web_VIP
Дата 3.1.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 8.9.2007

Репутация: нет
Всего: нет



Не, народ, вы чего смеетесь чтоли, вроде первое апреля еще далеко, каждый раз кто то пишет одно и тоже, но на вопрос мне так и не ответил, я спросил как удалить из 5 переменных 4.
Но не так:
Код

unset($_SESSION['text_1']);
unset($_SESSION['text_3']);
unset($_SESSION['text_4']);
unset($_SESSION['text_5']);

а как нить в одном unset это можно сделать?
PM MAIL   Вверх
skyboy
Дата 3.1.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Код

foreach($_SESSION as $key => $value) {
 if($key !== 'text_2')
 unset($_SESSION[$key]);
}

никак не могу себе представить, зачем подобное может быть нужно?
PM MAIL   Вверх
FractalizeR
Дата 3.1.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



Цитата(web_VIP @ 3.1.2008,  15:34)
Не, народ, вы чего смеетесь чтоли, вроде первое апреля еще далеко, каждый раз кто то пишет одно и тоже, но на вопрос мне так и не ответил, я спросил как удалить из 5 переменных 4.
Но не так:
Код

unset($_SESSION['text_1']);
unset($_SESSION['text_3']);
unset($_SESSION['text_4']);
unset($_SESSION['text_5']);

а как нить в одном unset это можно сделать?

Это вы над нами смеетесь. Что, трудно мануал по PHP открыть?

Код

unset($_SESSION['text_1'], $_SESSION['text_3'], $_SESSION['text_4'], $_SESSION['text_5']);


Какая разница, в одном операторе это делать или в нескольких? Вы можете толком объяснить, что вам нужно?

skyboy:
Оператор unset допускает указание нескольких переменных.


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.