PHP сессия не работает с IE - PullRequest
       31

PHP сессия не работает с IE

14 голосов
/ 20 ноября 2008

У меня есть сайт, созданный с помощью php, который использует сеансы на стороне сервера по всему сайту.
Фактически, это сайт с пользовательским логином, который зависит от переменных сеанса, и если бы была проблема с всеми переменными сеанса, никакие страницы не загрузились бы вообще.

На сайте есть iframe, который содержит небольшие сообщения от других пользователей.
Рядом с этими маленькими сообщениями кликабельны фотографии, открывающие профиль пользователя.
Теперь каждая страница требует определенного форматирования, чтобы открыть профиль пользователя на этой конкретной странице ... на самом деле есть только несколько проблем страниц, но эти страницы должны иметь функции onclick, отформатированные немного по-другому, или они нарушают стр.
Поэтому я установил переменную сеанса на каждой странице ($_SESSION["current_page"]), которая позволяет каналу знать, как форматировать фотографии, на которые можно нажимать. Теперь Firefox, Opera, Chrome, Safari все работают так, как они должны.
Но IE6 и IE7 имеют проблемы на страницах, которые требуют специального форматирования.
Поэтому, немного потянув за волосы, я наконец-то смог распечатать свои переменные сеанса с сервера.
И вот, на специальных страницах ($_SESSION["current_page"]) всегда установлено значение «main» вместо «special1» или «special2».

Я напечатал одну и ту же переменную сеанса в Firefox и во всех других браузерах, о которых я упоминал, и они распечатали «special1» или «special2», как и положено.
Кто-нибудь может придумать что-то - возможно, связанное с тем, что канал находится в iframe ??? - что заставило бы IE по-разному относиться к переменным сеанса на стороне сервера или как-то молча запускать страницу "main" в фоновом режиме?
Я очень тщательно проверил фид на наличие ссылок на страницу «главная» - не похоже, что есть какие-либо способы загрузки этой страницы.

это не имеет смысла для меня.

Ответы [ 12 ]

0 голосов
/ 20 ноября 2008

Данные сеанса хранятся на стороне сервера, а не на клиенте. Я бы проверил другие страницы, где будет установлено это значение.

0 голосов
/ 20 ноября 2008

Если я правильно понимаю, вы пытаетесь использовать переменную сеанса для передачи данных со страницы на страницы внутри фреймов на этой странице? Это не очень хороший способ - почему бы просто не передать переменную GET в URL-адрес iframe, т.е.? Current_page = special1. Я думаю, что это будет более надежным, поскольку не зависит от состояния сеанса.

Помните также, что переменные сеанса будут одинаковыми для нескольких страниц одного и того же сайта, которые открыты на ПК пользователя (например, на нескольких вкладках), что может вызвать странное поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...