|
|
|
| Помогите советом, можно ли с помощью PHP массивов (например через $_SERVER) или через куки определить что несколько окон браузера пользуются одной сессией?
Описываю проблему: существует какая то страница, которая для передачи определенной информации активно использует массив $_SESSION.
Если такое окно открыть в новом окне,(пользователь нажимает Ctrl+n или меню/файл/создать/окно, или жмет на ссылку с Ctrl, или с помощью контекстного меню – Открыть в новом окне), то это новое окно тоже будет пользоваться этой же сессией, и в итоге, если пользователь прыгает из окна в окно, получается полная ерунда.
Возможно вопрос совершенно дурацкий, маловато опыта. | |
|
|
|
|
|
|
|
для: kir
(09.02.2006 в 22:46)
| | Жаль что никто не знает... | |
|
|
|
|
|
|
|
для: kir
(09.02.2006 в 22:46)
| | Есть функция microtime(), с ее помошью можно создавать некий идентификатор для каждого открытого окна. Чтобы более конкретно ответить на Ваш вопрос, необходимо знать, чего Вы не хотите, чтобы пользователь вытворял. | |
|
|
|
|
|
|
|
для: kir
(09.02.2006 в 22:46)
| | Хм... а зачем пользователю ещё одно окно? Можно использовать флаг в сессии, как только открывается форма - сбрасывать его, если он сброшен не создавать больше HTML-формы, а в обработчике формы снова поднимать флаг. | |
|
|
|
|
|
|
|
для: cheops
(10.02.2006 в 14:15)
| | Конкретезирую немного.
Вопрос такой: как открыть (пользователь нажимает Ctrl+n или меню/файл/создать/окно, или жмет на ссылку с Ctrl, или с помощью контекстного меню – Открыть в новом окне) в php новое окно, создать для него новую сессию, но не убить старую сессию для предыдущего окна?
То есть я уже разобрался, как вычислить что это окно открываестья (с помощью куков и JavaScript). И допустим могу его перенаправить куда то.
При открытии нового окна браузера в рамках текущей сессии никак не удается создать вторую сессию. Эта (сессия), которая создается, просто переписывают значения первой.
Эти окна как Сиамские близнецы...
Если меняешь что то в одном окне, автоматом (переименовать сессию например, или сделать новую) меняеться и во втором.
Можно попытаться закрыть это новое окно и сделать новое (опять таки JavaScript - тогда оно вроде не наследует сессию) - тогда вроде проблема решена, но браузер не дает без навязчивого что то типа "Окно пытаеться закрыться. Разрешить это?".
Тоже не выход.
А на тему
>Хм... а зачем пользователю ещё одно окно? Можно использовать флаг в сессии, как только открывается форма - сбрасывать его, если он сброшен не создавать больше HTML-формы, а в обработчике формы снова поднимать флаг.
Если можно поподробнее - можно ему вообще запретить открываться?
Разьясните плз. Может есть еще способы? | |
|
|
|
|
|
|
|
для: kir
(10.02.2006 в 22:47)
| | Опять никто не знает... :) | |
|
|
|