Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как определить с помощью PHP разные окна в одной сессии?
 
 автор: kir   (09.02.2006 в 22:46)   письмо автору
 
 

Помогите советом, можно ли с помощью PHP массивов (например через $_SERVER) или через куки определить что несколько окон браузера пользуются одной сессией?
Описываю проблему: существует какая то страница, которая для передачи определенной информации активно использует массив $_SESSION.
Если такое окно открыть в новом окне,(пользователь нажимает Ctrl+n или меню/файл/создать/окно, или жмет на ссылку с Ctrl, или с помощью контекстного меню – Открыть в новом окне), то это новое окно тоже будет пользоваться этой же сессией, и в итоге, если пользователь прыгает из окна в окно, получается полная ерунда.
Возможно вопрос совершенно дурацкий, маловато опыта.

   
 
 автор: Kir   (10.02.2006 в 03:40)   письмо автору
 
   для: kir   (09.02.2006 в 22:46)
 

Жаль что никто не знает...

   
 
 автор: Yuri   (10.02.2006 в 03:59)   письмо автору
 
   для: kir   (09.02.2006 в 22:46)
 

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

   
 
 автор: cheops   (10.02.2006 в 14:15)   письмо автору
 
   для: kir   (09.02.2006 в 22:46)
 

Хм... а зачем пользователю ещё одно окно? Можно использовать флаг в сессии, как только открывается форма - сбрасывать его, если он сброшен не создавать больше HTML-формы, а в обработчике формы снова поднимать флаг.

   
 
 автор: kir   (10.02.2006 в 22:47)   письмо автору
 
   для: cheops   (10.02.2006 в 14:15)
 

Конкретезирую немного.
Вопрос такой: как открыть (пользователь нажимает Ctrl+n или меню/файл/создать/окно, или жмет на ссылку с Ctrl, или с помощью контекстного меню – Открыть в новом окне) в php новое окно, создать для него новую сессию, но не убить старую сессию для предыдущего окна?

То есть я уже разобрался, как вычислить что это окно открываестья (с помощью куков и JavaScript). И допустим могу его перенаправить куда то.

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

Эти окна как Сиамские близнецы...
Если меняешь что то в одном окне, автоматом (переименовать сессию например, или сделать новую) меняеться и во втором.

Можно попытаться закрыть это новое окно и сделать новое (опять таки JavaScript - тогда оно вроде не наследует сессию) - тогда вроде проблема решена, но браузер не дает без навязчивого что то типа "Окно пытаеться закрыться. Разрешить это?".
Тоже не выход.

А на тему
>Хм... а зачем пользователю ещё одно окно? Можно использовать флаг в сессии, как только открывается форма - сбрасывать его, если он сброшен не создавать больше HTML-формы, а в обработчике формы снова поднимать флаг.
Если можно поподробнее - можно ему вообще запретить открываться?
Разьясните плз. Может есть еще способы?

   
 
 автор: kir   (11.02.2006 в 15:55)   письмо автору
 
   для: kir   (10.02.2006 в 22:47)
 

Опять никто не знает... :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования