session_start Стартует новую сессию, либо возобновляет существующую &reftitle.description; boolsession_start arrayoptions[] Функция session_start создаёт сессию, либо возобновляет существующую, основываясь на идентификаторе сессии, переданном через GET- или POST-запрос, либо переданный через cookie. Когда вызвана функция session_start или когда сессия создаётся автоматически, PHP вызовет открытие и чтение обработчиков записи сессии. Это могут быть как встроенные обработчики, так и предоставляемые модулями (например, SQLite или Memcached); или вообще определённый пользователем обработчик, заданный функцией session_set_save_handler. Callback-функция чтения извлечёт все существующие данные сессии (сохранённые в специальном сериализованном виде), десериализует их и занесёт в суперглобальный массив $_SESSION, после чего вернёт сохранённые данные обработчику сессий PHP. Для использования именованных сессий, используйте session_name перед session_start. Если разрешена опция session.use_trans_sid, функция session_start регистрирует внутренний обработчик вывода для перезаписи URL. Если пользователь использует ob_gzhandler или что-то подобное совместно с функцией ob_start, порядок функций важен для правильного вывода. К примеру, ob_gzhandler должен быть зарегистрирован до старта сессии. &reftitle.parameters; options Если задано, то должно быть ассоциативным массивом, переопределяющим текущие директивы конфигурации сессий. Ключи не должны иметь префикса session.. В дополнение к обычному набору конфигурационных директив, может быть добавлена опция read_and_close. Если установлена в &true;, то сессия будет закрыта сразу же после прочтения, теоретически позволяя избежать блокировки, если данные сессии не будут изменяться. &reftitle.returnvalues; Функция возвращает &true;, если сессия успешно стартована, в противном случае &false;. &reftitle.changelog; &Version; &Description; 7.1.0 session_start теперь возвращает &false; и больше не инициализирует $_SESSION, когда она не смогла запустить сессию. &reftitle.examples; Простой пример сессии <filename>page1.php</filename> page 2'; // Или можно передать идентификатор сессии, если нужно echo '
page 2'; ?> ]]>
После просмотра page1.php, вторая страница page2.php чудесным образом получит все данные сессии. Читайте раздел работа с сессиями, там рассказывается про передачу идентификаторов сессий. В частности там рассказывается про то, что такое константа SID. <filename>page2.php</filename> '; echo $_SESSION['favcolor']; // green echo $_SESSION['animal']; // cat echo date('Y m d H:i:s', $_SESSION['time']); // Можете тут использовать идентификатор сессии, как в page1.php echo '
page 1'; ?> ]]>
Передача опций в <function>session_start</function> Переопределение времени жизни cookie 86400, ]); ?> ]]> Чтение и закрытие сессии 86400, 'read_and_close' => true, ]); ]]>
&reftitle.notes; Для использования сессий на основе cookie, функция session_start должна быть вызвана перед выводом чего бы то ни было в браузер. Используйте zlib.output_compression вместо ob_gzhandler Эта функция отсылает несколько заголовков HTTP, в зависимости от настроек. Смотрите описание функции session_cache_limiter для управления этими заголовками. &reftitle.seealso; $_SESSION Директива конфигурации session.auto_start session_id