Проектирование дизайна приложения (сохранение состояния стрницы по возвращению на нее

sgrebnev

Новичок
Проектирование дизайна приложения (сохранение состояния стрницы по возвращению на нее

Например. Страница имеет список (его состояния: вывод всех значений списка(состояние по умолчанию), вывод значений элемента, редактирование элемента) и меню (имеет одно состояние)). Нажав на просмотр значений элемента списка имеем на странице его описание. После, через меню переходим на др. страницу. Задача: вернувшись на страницу со списком, необходимо увидеть ее в состоянии просмотра элемента, а не вывод всех значений списка(состояние по умолчанию).
Решение: Запрос, например для отображения значений элемента списка, имеет следующий вид ?pid=1&eid=2&act=view, где pid - ид страницы, eid - ид элемента списка, act - выполняемое дейтвие. Получив данные, записываем их в session следующей структуры: session["pid_prm"][$pid][$key] = $var. Получив следующий запрос с pid = данному и act = false - используем параметры из session. Если act = значение - выполняем действие соответствующее act и перезаписываем переменную session["pid_prm"][$pid].
Вместо выполнения действий соответствующих параметрам из session, можно использовать готовые данные из кэша, соответствующего $pid, кт. предварительно нужно сохранить.

Проблемма: Пользователь, вернувшись на стр. со списком, которая находится в состоянии редактирования элемента из списка, не сможет, сохранив url страницы, увидеть ее в этом состоянии по сохраненному url, т.к. необходимые параметры были взяты из session

Вопрос следующий: как правильно реализовать сохранение состояния стрницы.
 

Фанат

oncle terrible
Команда форума
Если я правильно понял задачу, то это какая-то фигня.

Есть ДВЕ страницы. грубо говоря - с формой поис4ка и с результатами поиска. И сохранить ссылку на ФОРМУ требуется так, чтобы она показывала РЕЗУЛЬТАТ? Это нонсенс.

Пусть твой юзер не будет идиотом, и сохраняет ссылку на результаты поиска.
 

anti_sapiens

Новичок
Если это один пользователь - пусть из кук берет. Если их много-писать урл на странице можно.

А вообще конечно нонсенс.
 

sgrebnev

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

anti_sapiens

Новичок
Ниче не понял. Тебе нужно сохранять состояние одного юреза на время его присутствия на сайте чтоль ? Ну так а сессия то чем тогда не устраивает ?
 

phpdev2007

Новичок
Автор оригинала: sgrebnev
а что тут выдумывать, банальная зача
да уж банальная, не то слово, да ладно,
сохранить данные по переходам между страницами, можно в: сессии, сокиес, не обязательно хранить все данные
достаточно хранить идентификатор на них, конечно если не пугает гет запросы параметры в урле, можно идентификатор хранить в строке запроса.
 

Фанат

oncle terrible
Команда форума
anti_sapiens
нет. он хочет, как раз, запоминать не только в овремя перемещения, но и после посещения.

Хотя его второе заявление противоречит, по-моему, первому.

-~{}~ 30.11.07 11:05:

какое отношение эта редактируемая форма имеет к "сохранению урл"?

-~{}~ 30.11.07 11:08:

Судя по всему, у него в голове бродит что-то вроде "сохранения черновика" в жж.
Но он не понимает, что нельзя по ссылке "Написать" автоматом восстанавливать состояние формы. А можно только спрашивать - "восстановить из черновика?", как это и делает жж.

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

sgrebnev

Новичок
>сохранить данные по переходам между страницами, можно в: сессии

Пользователь, вернувшись на стр не сможет, сохранив url страницы, увидеть ее в этом состоянии по сохраненному url, т.к. необходимые параметры были взяты из session
 

Фанат

oncle terrible
Команда форума
короче.
хочешь написать stateful приложение?
АЯКС тебе в руки, барабан на шею и попутного ветра в могучую спину.

аякс регистрирует все изменения в форме и отправляет на сервер. где они и хранятся.
Юзера идентифицируешь кукой.
Еще вопросы остались?
 

Фанат

oncle terrible
Команда форума
Бить буду не я. А жизнь.
но в тепличных условиях будет работать. И если тебе совсем нечем заняться, то мои наилучшие пожелания
 

sgrebnev

Новичок
я вообще ожидал услышать ответ немного другого характера
вроде методики какой, патэрна так сказать:)
но наверное не донес свою мысль в массы

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

Фанат

oncle terrible
Команда форума
нет, не станет.
там все банально и очевидно.
а, главное - ничего никуда сохранять не надо.

и даже моё богатое воображение с трудом представляет себе юзера, который кидает в аську линк с комментарием "зазырь чуваг как я криво форму заполнил гыг!"
 

sgrebnev

Новичок
>Бить буду не я. А жизнь.
в самую суть заглянул, отец
долой капитализм!!!
 

HraKK

Мудак
Команда форума
anti_sapiens
ТОгда не лезь с советами.

sgrebnev
Тебе уже сказали все "патэрны". Методика тут одна - берешь и делаешь. Можешь сделать архитектуру приложения сразу такой которая при внешних ключах вызывает UserRecorder какой-то и пишет в куку/профиль текущее состояние.
 
Сверху