Очистка переменной?

.des.

Поставил пиво кому надо ;-)
session_unregister - удаляет только одну переменную из сессионного файла
Это не так. она не работает с сессионным файлом!

Моя концепция:
1. изменил содержимое сессионного файла (не сессионной переменной !) - сделай переход во избежание глюков.
Чем и как? session_write? session_save?

1. Почему не стоит делать $_SESSION=array():
причина проста как день - данная конструкция не вносит изменений в сессионный файл, так что на следующем вызове получаем глюк (восстановление значений $_SESSION).
Если эта конструкция не вносит, то следовательно вносит session_unset() а это опять же не так..
разница в них что одна ищет и удаляет глобальные переменные, а другая нет.

Извини. Просто я уже несколько устал отвечать людям, которые не видят разницу между "сессионной переменной" и "переменной в сессии".
Ты так и не пояснил смысл этой фразы!
 

Mammoth

Guest
Это не так. она не работает с сессионным файлом!/quote]

Вообще-то я так и не понял, при чем тут session_unset? Раз уж ты так любишь приводить цитаты из мануала, то почитай их сам:
"session_unregister -- Unregister a variable from the current session" ([m]session_unregister[/m])
"session_unset -- Free all session variables" ([m]session_unset[/m])

Как говорится, почувствуйте разницу...

Чем и как? session_write? session_save?
Переход я делаю обычно с помощью header("Location: ".$url);
Вношу изменения с помощью [m]session_register[/m] и [m]session_unregister[/m].

Если эта конструкция не вносит, то следовательно вносит session_unset() а это опять же не так..
разница в них что одна ищет и удаляет глобальные переменные, а другая нет.
Насчет конструкции "$_SESSION=array();" я думал, что мы уже разобрались... или я не понимаю о чем идет речь. А скорее и то, и другое.

Ты так и не пояснил смысл этой фразы!
Я пояснял это в топике, ссылку на которую я тебе дал.
 

.des.

Поставил пиво кому надо ;-)
Да ты не даешь объяснения ты просто упрямо следуешь своим утверждениям..
почему то различая сессионный файл и сессионные переменные
а различий между session_register и $_SESSION я не вижу. и то и другое (даже без отсылки к исходникам) работает прекрасно
С чего ты вообще взял что
session_register и session_unregister работают с файлом?

Насчет цитат из мануала - ну поясни мне разницу
session_unregister - unregisters (forgets) the global variable named name from the current session.
и
Note: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable.

Или ты усмотрел разницу в этой приписке from current session?
Так вот хоть я и не филолог поясняю здесь просто избегают тавтологии и не добавляют current session.
 

Mammoth

Guest
Мля. Сравни: "session variable" и "variable from [in] session".
 

.des.

Поставил пиво кому надо ;-)
ну сравнил
по-русски
сессионая переменная и переменная из[в] сессии!
что разница есть? :)
 

RomikChef

Guest
Мамонт.
Вроде бы, с октября ты должен был понять очевидную вещь.
Что для $_SESSION понятия переменной в сессии и сессионной переменной являются эквивалентными.
Даже я это понял, и чтобы не заводить отдельный массив и регистерить его функцией, стал пользоваться суперглобальным массивом.
 

.des.

Поставил пиво кому надо ;-)
уффф вернулся.. :))) Ромик :) я думал Апельсин тебя уж и не отпустит :)
 

Mammoth

Guest
Ладно, чтобы прекратить бесполезный флейм, я постараюсь подготовить аргументированный ответ. А ты пока ответь на мой предыдущий вопрос - где я говорил, что session_unset работает напрямую с сессионным файлом.
 

.des.

Поставил пиво кому надо ;-)
Mammoth флейм согласен. но ты же не хочешь признавать очевидного вот и флеймим :)

где ты говорил?
Пожалуйста внимательно прочитай свои слова
1. Почему не стоит делать $_SESSION=array():
причина проста как день - данная конструкция не вносит изменений в сессионный файл, так что на следующем вызове получаем глюк (восстановление значений $_SESSION).
Это утверждение, что $_SESSION=array() не работает с сессионым файлом, это действительно так, но это же означает что предлагаемая тобой функция session_unset(), работает с сессионным файлом.

Вообще этот флейм родился из за того что ты настаивал на разнице - сессионные переменные и сессионный файл. - а разницы, простите, нет!
 

si

Administrator
сессионным файлом
Нет никокого файла. Есть сессия, где оно хранится и как тебя не должно волновать (может в shared memory, в базе, в файле) следовательно session_unset НЕ РАБОТАЕТ (и не может) С ФАЙЛОМ
 

RomikChef

Guest
Мамонт, ты собираешься аргументировать за session_register против $_SESSION?
Могу подкинуть еще классных тем.
Чай против кофе.
Борщ против ухи.
Попадья против поповой дочки.
арбуз против свиного хрящика.

Я считаю, что реальных аргументов против того или иного метода, как таковых, вне парадигмы регистер глобалс, выдвинуть нельзя. И работают они одинаково.
 

Mammoth

Guest
ладно, убедили... ;-)
... заканчиваем флейм.
 

Mammoth

Guest
;-)

Послесловие.

> Попадья против поповой дочки.

Интересная тема. Надо будет завести соответствующую тему в оффтопике. Я больше склоняюсь к молодости...

Всем спасибо за снисхождение ко мне... ;-) (особенно .des.)

[TOPIC CLOSED]
 

RomikChef

Guest
дес, он называет сессионными переменными переменные, пришедшие из сессии. Это понятие имеет смысл только при регистер глобалс.

и вся война, которую он ведет - за то, что session_unregister не делает unset - проблема, отсуствующая при использовании суперглобала в принципе.
 

Mammoth

Guest
ЗЗЗЗЗЗЗЗЫ. Вобщем-то я вел "войну" не за различение сессионных переменных и сессионного файла, а за отличие сессионных переменных от переменных в сессии. К таковым я отношу (понимаю под ними) записи в сессии. На понятии сессионного файла я не настаиваю, просто под этим понимаю хранилище переменных в сессии.
 

si

Administrator
Сессии это уже хранилище для переменных, которые сохраняются между запросами. Все остальное глюки в реализации сессий при register_global и т.д. Они (девелоперы) хотели как лучше, а плучилось как всегда, перемудрили короче :)
 
Сверху