Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Метод POST и кнопка "Назад" в IE

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Polaris
Отправлено: 15 Апреля, 2010 - 07:47:57
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Чувствую, что тема не новая, но по поиску ничего не нашел. Однако
Есть страница с формой поиска, данные отправляются методом POST. Есть страница с многостраничными результатами поиска. Когда там переходишь по страницам поиска и хочешь вернуться по кнопке "Назад" - в IE получаешь "Веб-страница просрочена".

Как с этим бороться, помимо переделки метода на GET?
 
 Top
Ch_chov
Отправлено: 15 Апреля, 2010 - 08:39:50
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Не только IE, но и FF так реагирует. Наверно, это одна из причин того, что поисковики испольуют метод GET.
Кроме этого, использование GET в данном случае позволит давать ссылки на страницы результатов поиска.
 
 Top
Polaris
Отправлено: 15 Апреля, 2010 - 11:50:15
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




То есть, единственное решение в данном случае - метод GET вместо POST?
 
 Top
JustUserR
Отправлено: 15 Апреля, 2010 - 16:23:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Polaris пишет:
Есть страница с формой поиска, данные отправляются методом POST. Есть страница с многостраничными результатами поиска. Когда там переходишь по страницам поиска и хочешь вернуться по кнопке "Назад" - в IE получаешь "Веб-страница просрочена
Вообще идея метода POST заключается как раз в том - что вместе с POST-запросом передается некий достаточно большой набор данных (В том числе различные файлы и тд) - на основе которого и генерируется запрашиваемая страница 0 то есть поразумевается что данные отправились один раз и все А метод GET несмотря на наличие в нем query_string предполагает многоразовый запрос - в том время как GET-переменные просто служат для идентификации страницы по этим парамтерам
Однако на практике при желании можно реализовать следующим образом - вы создаете статическую HTML страницу на которой будет размещатьсфя управляющий JS-скрипт - там находится форма которая передается на сервер с помощью Iframe/AJAX то есть без перезагрузки страницы Таким образом пользователя может вводить новые запросы и они будут ему показываться на этой же старнице заместо старых (Можно доработать чтобы сохранлась история запросов) При желании можно обрабатывать нажатия кнопок Назад и Вперед чтобы они функционировали по смыслу вашей системы - но это достаточно сложный способ и лучше сделать как указано выше


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Polaris
Отправлено: 19 Апреля, 2010 - 08:53:37
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Подумал и нашел более простой вариант. С формы поиска перенаправляешь не прямо на скрипт с выводом результатов, а на какой-либо промежуточный скрипт, где сохраняешь в сессии параметры поиска. А оттуда уже делаешь header('location: результат_поиска.php').
Вроде работает.
 
 Top
JustUserR
Отправлено: 19 Апреля, 2010 - 12:14:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Polaris пишет:
Подумал и нашел более простой вариант. С формы поиска перенаправляешь не прямо на скрипт с выводом результатов, а на какой-либо промежуточный скрипт, где сохраняешь в сессии параметры поиска. А оттуда уже делаешь header('location: результат_поиска.php').
Вроде работает.
В принципе вариант неплохой однако имеет две особенности - во-первых пользователю приходится лишний раз перезагружать страницу (С переходом обратно на форму поиска) а так можно было бы указать типа прогресс-бара поиска - а во-вторых таким образом данные частично лежат в сесси а частично передаются в POST-запроса а также можно было бы все передавать через POST-запрос


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB