Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

session_start()

Аноним
Всем привет!
session_start() - насколько я понял создает новую сессию или продолжает старую, если ей в куках или через строку параметров передали session_id.
Так вот отсюда вопрос, если мне надо создать новую сессию, для этого мне надо убить все куки от старой сессии? (когда я буду вызывать session_start() он будет смотреть куки, находить куки старой сессии и будет думать что надо продолжать страую а не создавать новую сессию).
Надеюсь я понятно поставил вопрос, если что, спрашивайте?
Зарание спасибо.

Аноним
Никакие куки у клиента сессия не создаёт. А создается на серваке, где установлен ПХП в специальной директрии(у меня на домашнем апача+ПХП под виндовоз здесь: C:\usr\php\sessiondata\).
Вот там он и сохраняет все данные для каждых idsession.
Если точней, то для каждой idsession создается отдельный файл, куда и записываются все переменные конкретной idsession.
Перед созданием файла и соответственно idsession, ПХП генерирует (как ты уже догадался) случайное 32-байтное(не путай с 32-битное!!!) число. Затем создается файл с именем sess_32байтноечисло в который записываются имена переменных и их значения, чтобы позже ПХП мог обратится к переменным и извлечь их значения.
Например: файл sess_34fac197f6400d3eb241ad3974611ad4:
pi|d:3.14159;string|s:10:"The string";

Этот файл был создан скриптом:
session_start();
session_register('pi');
session_register('string');
$pi=14159; //pi типа double - поэтому d
$string="The string"; //string типа string - поэтому s


Рассмотрим из файла sess_34fa...1ad4:
сначало идет имя переменной - pi,
через разделитель "|" следует тип переменной - d т.е. double. После двоеточия ПХП считывает значение до первой встречи ";".
Я думаю со string'ом ты догадался:
имя_переменной|тип(s):количество_символов:"сама строка";

Если что-то непонятно спрашивай.

---
Cosinus
Аноним
Ну как это не создает, а идентификатор сессии как передается? Либо через адрессную строку либо через куки (на машине пользователя), или я не прав?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог