![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
lerguide |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Подскажите, как принято реализовывать следующую технику:
на странице A пользователь отправляет сообщение. У формы отправки указан обработчик B. После того как B отработает, он перенаправит пользователя назад на страницу A или куда-то на страницу C. При этом на странице А или С нужно будет показать сообщение о том, как прошла обработка. То есть суть в том, что обработкой форм занимаются отдельные экшены и они не связаны с остальными контроллерами, которые занимаются выводом. Вопросы в общем такие: - как организовать передачу информации между ними? Я так думаю, что либо сессиями, либо кукисами. - как вообще принято организовывать подобные схемы? Верный ли путь обособление экшенов? Пишу на CodeIgniter, если что. |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
почему бы просто не параметром в адресе? целевая_страница.php?result=positive&id=147 исходя из адреса можно показать поздравительное сообщение и выбрать введённую информацию для лицезрения Добавлено через 48 секунд разделяй и властвуй. любой полностью независимый модуль может использоваться неоднократно в схожих задачах. то есть, это хорошо |
|||
|
||||
lerguide |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
URL имеют вид сайт.ру/контроллер/метод/../... Поэтому засорять его параметрами не хочется. И если делать так, то нужно централизованно хранить сообщения, ну или как-то жестко о них договариваться. |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Контроллер может захотеть вывести "информацию с предыдущей жизни". О случае некорректного ввода пароля, отправки сообщения или еще какого события. Обычно, для этого используют сессию. В ней заводят массив с сообщениями, которые следует продемонстрировать юзеру и после демонстрации - удалить из сессии.
Для того, чтобы вернуться к предыдущей странице обычно используется HTTP_REFERRER. При проходе по страницам своего сайта это довольно надежный параметр. Хотя ходят упорные слухи о существовании злых прокси, которые любят резать именно рефереры. В случае, если при первом заходе в контроллер B реферер установлен в корректную страницу собственного сайта не совпадаюшую с B, можно сохранить его в сессию и вернуться именно по нему по окончании логики B. Еще один вариант - все ссылки, ведущие на "страницы с возвратом" имеют обработчик клика на javascript'е. Что-нибудь такое (почти по bars80080'у)
, -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
lerguide |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
ksnk, спасибо за ликбез. Я так и представлял это, но хотел подтверждения от знающих людей.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |