session_start()
session_start() - насколько я понял создает новую сессию или продолжает старую, если ей в куках или через строку параметров передали session_id.
Так вот отсюда вопрос, если мне надо создать новую сессию, для этого мне надо убить все куки от старой сессии? (когда я буду вызывать session_start() он будет смотреть куки, находить куки старой сессии и будет думать что надо продолжать страую а не создавать новую сессию).
Надеюсь я понятно поставил вопрос, если что, спрашивайте?
Зарание спасибо.
Вот там он и сохраняет все данные для каждых 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
Ну как это не создает, а идентификатор сессии как передается? Либо через адрессную строку либо через куки (на машине пользователя), или я не прав?