![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
Доброго всем здравия.
Есть такая проблема на сайт есть регистрация по имени и капча. Все работает гуд. Проблема в том что все переменные хранятся в сессии. А когда открывается новая кладка она использует туже самую сессию что и первая вкладка и затирает все переменные первой вкладки. Как это можно победить? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
выявить смысловую нагрузку различных данных и оставить в сессии только те, что имеют отношение к сохранению данных пользователя в одной сессии
к примеру, исключая специфические задачи, в сессии имеет смысл хранить только одно: идентификатор авторизованного пользователя. для хранения всех прочих данных существует множество способов, начиная с БД и заканчивая файлами. мне лично кажется, что вы храните в сессии многие данные только потому, что это "удобно" и "не надо заморачиваться с разными механизмами". однако, очевидно, в этом случае ваша архитектура приложения идёт лесом |
|||
|
||||
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
ДА так удобней поскольку мне хранить по факту нужно только 6 цифр номера пользователя и две даты по которым идет выборка из БД. Пользователь может только смотреть в БД. Причем пользователь понятие совершенно абстрактное не как не связанное с каким-то конкретным лицом. Огромная защита там совершенная не нужна и хранение больших данных нет о пользователе.
И какбы нет особого смысла нагружать сервак писанием в файл или в БД. |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
VasRip, Что такое регистрация? Значит ли это, что зарегистрировавшийся юзер имеет право болтаться по сайту без постоянного заполнения имени и пароля? в том числе и открывать сайт в отдельной вкладке?
О чем вообще вопрос? О нелегкой жизни отладчика приложения? Можно открывать окно в "режиме инкогнито" в хроме. Или в другом профиле в Firefox. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
регистрация-> ввод "номера пользователя", и капчи. открывается другая страничка в тойже вкладке. там пользователь может только менять дату и наживать 1 кнопку которая выбирает из бд данные и выводит их. И все.
просто суть в том что иногда может понадобится 1 человеку в ходить под разными "номерами пользователя" и смотреть одновременно данные по разным "номерам пользователя" |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
VasRip, Нужно подумать над архитектурой приложения и "действительно ли оно нужно юзеру?"
Если, "да, именно так и надо", то можно заводить "сессионный" ключик, генерировать его при регистрации, удалять по мере устаревания, и хранить его в javascript открытого окна. Общение окна с сервером должно вестись с помощью ajax. Каждый запрос серверу будет сопровождаться ключиком-дополнительным параметром. Если необходимо открытие нового окна, с тем-же "юзером", можно временно сохранять ключик в броузерных куках. Технически, задача решается, но уровень геморроя может местами зашкаливать. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
ajax не вариант. А вот хранить данные в javascript наверно стоит. нужно подумать спс вам
|
|||
|
||||
AJIeKceuD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 6.9.2012 Репутация: нет Всего: нет |
Я бы посмотрел на возможность поменять начальную логику. Две сессии в одном браузере... по-моему это утопия. Почему не сделать отдельно учетные записи и отдельно "номера пользователя"? И дать возможность в рамках одной учетной записи заводить несколько номеров пользователя.
|
|||
|
||||
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
AJIeKceuD я двумя руками ЗА. а вот заказчик хочет именно так ((((((
|
|||
|
||||
AJIeKceuD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 6.9.2012 Репутация: нет Всего: нет |
А нужны ли вообще куки и сессии? вбил пользователь номер и капчу, его перекинуло на страницу ...?number=123&pass=blablabla
pass сгенерирован в момент редиректа и связан с номером где-то в бд. Там у pass можно добавить срок жизни и т.д., это уже детали. Новая вкладка с новой формой авторизации перекинет на ?number=321&pass=blablabla2 |
|||
|
||||
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
Решил проблему ))) через костыль ))) все также в сессиях и осталось и все такое только + костыль из 3 строк
Всем спс |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |