Автор Тема: sessions + functions  (Прочитано 9169 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
sessions + functions
« Ответ #15 : 07 Августа 2003, 15:05:27 »
[off]
ну е мае...
начинается...
[/off]
sparx
тебе, как цитатчику мануала должны были встретится эти строки:
Цитировать

If register_globals is disabled, only members of the global associative array $_SESSION can be registered as session variables. The restored session variables will only be available in the array $_SESSION.

Use of $_SESSION (or $HTTP_SESSION_VARS with PHP 4.0.6 or less) is recommended for improved security and code readablity. With $_SESSION, there is no need to use the session_register(), session_unregister(), session_is_registered() functions. Session variables are accessible like any other variables.


Теперь, надеюсь, понятно, почему RomikChef прав ?
AS IS...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
sessions + functions
« Ответ #16 : 08 Августа 2003, 10:25:47 »
Блин, надо было мне не выпендриваться, а сразу открытым текстом писать :-)
извините, я был неправ.
Действительно, стереотип пробить очень трудно. Это очень распространенная ошибка.
Дело не в глобалсах и не в способе. А именно в синтаксисе.
Непривычном.
Я так думаю, что частично из-за дурного синтаксиса функций session_*, как раз и ввели этот массив.
потому, что:
параметром этих функций является не переменная, а СТРОКА, содержащая имя переменной.
т.е. не session_is_registered($var), а session_is_registered("var") !

Более того, я думаю, что все эти ограничения про разные способы обращения действуют в пределах ОДНОГО скрипта.
Т.е., если ты в одном скрипте написал $_SESSION[\'a\']=1;
то в другом у тебя вполне сработает session_is_registered("a") без каких бы то ни было ограничений. Ну, кроме накладываемых регистер глобалс, естественно.

И последнее. Самая первая проверка - isset() у спаркса, естественно, не работала, поскольку переменные, зарегистрированные в сессии, ничем не отличаются от обычных и их надо так же специально объявлять глобальными.
т.е.
global $X;
if (isset($X))
вернет себе спокойно труй.

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
sessions + functions
« Ответ #17 : 08 Августа 2003, 11:15:25 »
RomikChef
Более того, я думаю, что все эти ограничения про разные способы обращения действуют в пределах ОДНОГО скрипта.
Это в смысле что нельзя одновременно в одном скрипте вытягивать их из $_SESSION и пользоваться ф-циями session_* ()  ?
 Я просто чего спросил, потому как работаю с session_*() ,а в отладке
print_r($_SESSION)...И в пределах одного скрипта...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
sessions + functions
« Ответ #18 : 08 Августа 2003, 11:40:09 »
не рекомендуется.
почему - здесь не один раз цитату приводили.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28