Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Можно ли убить переменную в сессии? / 16 сообщений из 16, страница 1 из 1
16.02.2005, 15:27
    #32918788
AlexG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
В $_SESSION используюю переменную. Но мне она стала не нужна, а сессию закрывать не хочу. Можно ее как-то удалить, чтоб она не инициализировала переменную с таким же именем?
Т.е. я в параметре передаю другое значение переменной, скажем $r, но при работе значение этой переменной оказывается не таким, как было передано, а равным тому, что уже содержится в переменной $_SESSION["r"]. Мне не нужно это. Как то исправить это можно?
...
Рейтинг: 0 / 0
16.02.2005, 15:31
    #32918805
AlexG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
AlexGВ $_SESSION используюю переменную. Но мне она стала не нужна, а сессию закрывать не хочу. Можно ее как-то удалить, чтоб она не инициализировала переменную с таким же именем?
Т.е. я в параметре передаю другое значение переменной, скажем $r, но при работе значение этой переменной оказывается не таким, как было передано, а равным тому, что уже содержится в переменной $_SESSION["r"]. Мне не нужно это. Как то исправить это можно?

Мне поможет эта функция session_unregister("r")?
...
Рейтинг: 0 / 0
16.02.2005, 15:42
    #32918840
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
читать
http://phpfaq.ru/sessions
...
Рейтинг: 0 / 0
16.02.2005, 15:42
    #32918844
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
Для начала прочитай статью Не передаются переменные! Проблема register_globals .
Если после этого ты не надумаешь сделать register_globals=off, то почитай об области видимости переменной .
...
Рейтинг: 0 / 0
16.02.2005, 15:50
    #32918863
AlexG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
Кстати, мне помог собственный вариант. Но за ссылки - спасибо.
...
Рейтинг: 0 / 0
16.02.2005, 16:01
    #32918892
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
AlexGКстати, мне помог собственный вариант. Но за ссылки - спасибо.
Вы задали вопрос, и думаю будет всем интересно как он решился.
...
Рейтинг: 0 / 0
16.02.2005, 16:09
    #32918916
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
AlexGКстати, мне помог собственный вариант. Но за ссылки - спасибо.
Кстати, это неправильный вариант.
Как минимум, глупо удалять глобальную переменную, что бы под ее именем создать локальную с другим значением. Заведи две переменные - локальную и глобальную с разными именами. Если где-то в скрипте надо, чтобы значение локальной переменной было рано значению глобальной переменной, то воспользуйся оператором "=". Про register_globals=on я вообще молчу.
Для удаления ЛЮБОЙ переменной (даже переменной сеанса) старайся использовать функцию unset() .
...
Рейтинг: 0 / 0
16.02.2005, 16:12
    #32918926
AlexG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
Николай aka Motodor AlexGКстати, мне помог собственный вариант. Но за ссылки - спасибо.
Вы задали вопрос, и думаю будет всем интересно как он решился.

session_unregister("r") - удаляет из сессии переменную.
До ее использования:
Код: plaintext
1.
2.
3.
До перехода на страницу: $_SESSION["r"] =  2 ; -> POST
Переход: <url>?r= 3 ;
Внутри url: r ==  2  , зараза!
После использования указанной функции:
Код: plaintext
1.
2.
3.
4.
До перехода на страницу: $_SESSION["r"] =  2 ; -> POST
session_unregister("r");
Переход: <url>?r= 3 ;
Внутри url: r ==  3  , ура!
Вот, примерно так...
...
Рейтинг: 0 / 0
16.02.2005, 16:16
    #32918941
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
Николай aka Motodor AlexGКстати, мне помог собственный вариант. Но за ссылки - спасибо.
Вы задали вопрос, и думаю будет всем интересно как он решился.
Ну, что я и сказал...
...
Рейтинг: 0 / 0
16.02.2005, 16:17
    #32918944
AlexG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
4m@t!c
Кстати, это неправильный вариант.
Как минимум, глупо удалять глобальную переменную, что бы под ее именем создать локальную с другим значением. Заведи две переменные - локальную и глобальную с разными именами. Если где-то в скрипте надо, чтобы значение локальной переменной было рано значению глобальной переменной, то воспользуйся оператором "=". Про register_globals=on я вообще молчу.
Для удаления ЛЮБОЙ переменной (даже переменной сеанса) старайся использовать функцию unset() .

Дело все в том, что повсюду уже напихана переменная doc_id. И смысл ее ясен. Поэтому, чтобы потом не блудиться я так сделал.

Про настройки сервера это к нашему админу.
...
Рейтинг: 0 / 0
16.02.2005, 16:18
    #32918947
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
антипример использывания globals и сессий =)))
лучше всёже прочесть ссылки, там можно найти как ГРАМОТНО работать с переменными
а в ссылке по сессия как ГРАМОТНО с ними работать
...
Рейтинг: 0 / 0
16.02.2005, 16:26
    #32918982
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
Гы-гы... у тебя в распоряжении [a-z][A-Z][0-9][_], длина имени переменной не ограничивается 6-ю символами....
Переделай по-нормальному. иужи отдельно, котлеты - отдельно. Чем больше у тебя будет скрипт, тем больше шансов. что ты удалишь нужную глобальную переменную.
админу по большому счету все равно, on или off. все как раз от тебя зависит.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
17.02.2005, 02:35
    #32919815
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
Угу, как админ, скажу, что если юзер хочет register_globals on, я его предупрежу о возможных последствиях, но если он настаивает -- ну сам себе злобный буратина)
Правда, из бакапа потом мне сайт доставать, но тут уж ничего не поделаешь...
...
Рейтинг: 0 / 0
17.02.2005, 20:05
    #32921947
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
Как программер скажу, что лучше не зависеть от капризов админа и делать так, чтобы работало всегда. Благо в отношении register_globals для этого не нужно быть семи пядей во лбу.
...
Рейтинг: 0 / 0
17.02.2005, 22:22
    #32922049
AlexG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
*Как программер скажу, что лучше не зависеть от капризов админа и делать так, чтобы работало всегда. Благо в отношении register_globals для этого не нужно быть семи пядей во лбу.

Спасибо за совет с register_globals. Я учту это при разработке создаваемого мною "сайтика". Сайтом это нельзя назвать...
...
Рейтинг: 0 / 0
18.02.2005, 04:11
    #32922131
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Можно ли убить переменную в сессии?
*Как программер скажу, что лучше не зависеть от капризов админа и делать так, чтобы работало всегда. Благо в отношении register_globals для этого не нужно быть семи пядей во лбу.
Ммм... По сути -- согласен, но что тут подразумевалось под "капризами"?
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Можно ли убить переменную в сессии? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]