Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 08.01.2004, 14:23
SandyMAN вне форума Посмотреть профиль Отправить личное сообщение для SandyMAN Посетить домашнюю страницу SandyMAN Найти все сообщения от SandyMAN
  № 1  
SandyMAN

Регистрация: Jun 2001
Адрес: Jerusalem, Israel
Сообщений: 78
Отправить сообщение для SandyMAN с помощью AIM Отправить сообщение для SandyMAN с помощью Yahoo
По умолчанию Вопрос по сессиям

Всем привет!

Столкнулся вот с такой проблемой.

Есть сайт. Он состоит из нескольких страниц, на которых в начале любого действия выберается некий параметр, который является глобальным для всего сайта. Сохраняется в session.
То есть, на одной странице юзер выбирает параметер, и работает с ним по всему сайту, пока не изменит его на кокой-нибудь странице.

Но вот такая ситуация. Человек выбрал скажем параметр 111, и открывает новое окно того же браузера.

В новом окне остаётся тот же параметр 111 что и в первом окне.

Далее, во втором окне, юзер изменил параметер на 222 и перешел на первое окно. И сделал там, допустим, релоад странице.

И вместо параметра 111 он получает из сессии новый параметр 222.


Вот сам вопрос: как можно запретить изменятся этому параметру в первом окне? Нужно чтобы он оставался прежним в этом окне.

Как-то можно "метить" (отслеживать) окна одного браузера?

конечно можно передавать по URL, но может есть другие способы?


Последний раз редактировалось SandyMAN; 08.01.2004 в 14:29.
Старый 09.01.2004, 06:08
kompadre вне форума Посмотреть профиль Отправить личное сообщение для kompadre Найти все сообщения от kompadre
  № 2  
kompadre
 
Аватар для kompadre

Регистрация: Aug 2001
Адрес: Barcelona
Сообщений: 1,277
Отправить сообщение для kompadre с помощью ICQ
Привязать параметр к окну. Для каждого окна по параметру.

А еще помни: больше окон - меньше безопасности.
Работая с сессиями лучше всего использовать одно единственное окно на котором юзер к тебе зашел.


Последний раз редактировалось kompadre; 09.01.2004 в 06:09.
Старый 09.01.2004, 18:34
SandyMAN вне форума Посмотреть профиль Отправить личное сообщение для SandyMAN Посетить домашнюю страницу SandyMAN Найти все сообщения от SandyMAN
  № 3  
SandyMAN

Регистрация: Jun 2001
Адрес: Jerusalem, Israel
Сообщений: 78
Отправить сообщение для SandyMAN с помощью AIM Отправить сообщение для SandyMAN с помощью Yahoo
>Привязать параметр к окну. Для каждого окна по параметру.

дык в этом вся и проблема, что нет возможности "пометить" разные окна согласно законам HTTP. Для всех окон одного браузера существуют одни и теже куки и сессии. Привязать разные идентификаторы к разным окнам браузера нельзя.

Зная это, я задал этот вопрос с небольшой надеждой - а вдруг есть какой-то трюк? Народ ведь у нас умный, на всякое способен.

>А еще помни: больше окон - меньше безопасности.

к безопасности, по-моему, это не имеет отношения. Всё зависит от "правильности" программирования

>Работая с сессиями лучше всего использовать одно
>единственное окно на котором юзер к тебе зашел.

к сожалению, мы не можем (да и не в праве) ограничивать людей в открытии дополнительных окон. Хотя именно это помогло бы в моём случае.

Старый 09.01.2004, 19:56
kompadre вне форума Посмотреть профиль Отправить личное сообщение для kompadre Найти все сообщения от kompadre
  № 4  
kompadre
 
Аватар для kompadre

Регистрация: Aug 2001
Адрес: Barcelona
Сообщений: 1,277
Отправить сообщение для kompadre с помощью ICQ
А нельзя заменить все линки открываюшее новые окна на "онклик" который будет добовлять к хотимому урлу параметр "виндоу=такойто"? А в сессии иметь хэш. У хЭша индексы - коды страниц. Также в сессию можно запихнуть код "активного" окна который будет меняться при

а) открытии нового окна, собственно
б) при вызове дхмлового события "onfocus"

Эта смена может происходить примерно так :

-(открывается окно)
-окно получив фокус бегет на скрипт и передает ему гетом кодовое название страницы (это можно зделать хитро например с помошью изображением
-этот скрипт смотрит существует ли элемент в массиве сессии относящейся к имени полученному гетом.
-если нет - создает
-меняет переменную указывающюю на активный элемент массива.

Старый 09.01.2004, 21:14
SandyMAN вне форума Посмотреть профиль Отправить личное сообщение для SandyMAN Посетить домашнюю страницу SandyMAN Найти все сообщения от SandyMAN
  № 5  
SandyMAN

Регистрация: Jun 2001
Адрес: Jerusalem, Israel
Сообщений: 78
Отправить сообщение для SandyMAN с помощью AIM Отправить сообщение для SandyMAN с помощью Yahoo
спасибо Падре. Очень интересная идея. Правда существует проблема: человек может захотеть просто открыть ещё один экземпляр страницы в новом окне, например нажатием CTRL+N (File->New) или в другом каком-нибудь браузере иным способом. Поэтому не получится передать параметер также как при "онклик"

Думаю, в моём случае более правильно будет не хранить данные в сессиях, а передавать все по URL. И менее геморно, и более надёжно.

Создать новую тему   Часовой пояс GMT +4, время: 00:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:59.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.