![]() |
Странности наблюдаю:
в начале страницы пишу: Код:
session_start(); Как это понять? |
Вообще Браузер получает уже готовую информацию от сервера, то есть PHP не связан с браузером
Но думаю здесь проблема в куки, так как по умолчанию сессия хранится в куке, и может в опере куки быстрей создаются, короче видимо механизм создания и управления куками в этих браузерах немного разный |
vadimiron
Наверное. Я тож об этом подумал. Способ лечения так и не нашел, все настройки перерыл. Ну да ладно. В конце концов не критично. |
За это отвечают две настройки в php.ini:
session.use_cookies - если равно 1, то PHP передает идентификатор в куках, если 0 - то нет. session.use_trans_sid если равно 1, то PHP передает его, добавляя к URL и формам, если 0 - то нет. Если включена только первая, то при старте сессии (при каждом вызове session_start()) клиенту устанавливается кука. Браузер исправно при каждом следующем запросе эту куку возвращает и PHP имеет идентификатор сессии. Проблемы начинаются, если браузер куки не возвращает. В этом случае, не получая куки с идентификатором, PHP будет все время стартовать новую сессию, и механизм работать не будет. Если включена только вторая, то кука не выставляется. А происходит то, ради чего, в основном, собственно, и стоит использовать встроенный механизм сессий. После того, как скрипт выполняет свою работу, и страница полностью сформирована, PHP просматривает ее всю и дописывает к каждой ссылке и к каждой форме передачу идентификатора сессии. Это выглядит примерно так: <a href="/index.php">Index</a> превращается в <a href="/index.php?PHPSESSID=9ebca8bd62c830d3e79272b4f585ff8f">Index</a> а к формам добавляется скрытое поле <input type="hidden" name="PHPSESSID" value="00196c1c1a02e4c37ac04f921f4a5eec" /> И браузер при клике на любую ссылку, или при нажатии на кнопку в форме, пошлет в запросе нужную нам переменную - идентификатор сессии! Теоретически, в наших с вами самодельных сессиях на куках и базе, можно самому, руками приписать ко всем ссылками передачу ид - и тогда наши собственные сессии будут работать независимо от кук. Но, согласитесь - приятнее, когда эту работу делает кто-то другой? :) [s]Исправлено: FADE, 13:14 21-10-2004[/s] |
В тему ли?
|
Prisoner
[off]угу, это в ту тему где php делают под оперу или оперу под php, а не под стандарты |
FADE
Желательно ссылки приводить на первоисточник, иначе складывается мнение, что вы хотите сойти за автора... |
Время: 18:56. |
Время: 18:56.
© OSzone.net 2001-