Ни слова о мышах... (снова о сессиях)

Alkinoy

Guest
Ни слова о мышах... (снова о сессиях)

Народ, подскажите. Упускаю какой то момент чтоб понять работу сессий. Значит так, по порядку:
1. Стартуем сессию. При этом создается файл с именем=уникальный идентификатор.
2. регистрируем переменную в сессии. При этом она заносится в файл (см.выше) и там хранится.
3 после этого можем получить доступ к этой переменной с любой странички

Вроде тут я ошибок не допустил. Но если есть - поправте, магистры. А вот дальше начинаются неясности:

4. Как сервер определяет, какой юзер запросил документ и в каком файле сессии надо искать переменную? Ведь вроде куки мы не посылали. А если он сам послал, то каким образом?

5. Если всетаки запустили сессию в одном документе, то в другом ведь тоже надо запускать, что бы получить доступ к переменным? Или нет?

6. Если зарегистрированной переменной присваивается новое значени (где то в скрипте), это значение само перезаписывается в файл сессии или нет?

7. Если в строке запроса задается переменная (типа ...php?id=11),а в файле сессии она тоже есть то что будет?

8. Как можно определить время жизни сессии?

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

tony2001

TeaM PHPClub
>4. Как сервер определяет, какой юзер запросил документ
>и в каком файле сессии надо искать переменную?
по куке или из ГЕТа.

>Ведь вроде куки мы не посылали.
откуда ты это взял?

>А если он сам послал, то
>каким образом?
кто "он"?

>5. Если всетаки запустили сессию в одном документе, то в
>другом ведь тоже надо запускать, что бы получить
>доступ к переменным? Или нет?
да, session_start(); нужна в каждом скрипте.
обычно это решается инклудом.

>6. Если зарегистрированной переменной присваивается
>новое значени (где то в скрипте), это значение само
>перезаписывается в файл сессии или нет?
да.

>7. Если в строке запроса задается переменная (типа
>...php?id=11),а в файле сессии она тоже есть то что
>будет?
значит будут видны переменные $_GET['id'], $_SESSION['id'] и это разные вещи.
если включен register_globals, то будет еще глобальная переменная $id (из сессии), т.к. порядок присвоения - EGPCS (см. ман)

>8. Как можно определить время жизни сессии?
настройки сессий в php.ini

>И что делать, если куки у пользователя отключены?
ничего.
SESSIONID передается ГЕТом по умолчанию, если куки отключены.
опять же, смотри php.ini
 
Сверху