Реклама на сайте Advertise with us

Refresh и Post - как их развязать?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:
+ + +


С нами с 22.08.05
Сообщения: 52
Рейтинг: 1

Ссылка на сообщениеДобавлено: 22/11/05 в 12:54       Ответить с цитатойцитата 

Проблемка такая.
В гостевой книге Юзер посылает сообщение. Послал, все нормально, сидит любуется. Затем нажимает на refresh, чтобы обновить страничку, и его браузер отсылает повторное сообщение. (!?) Как сделать (в скрипте Perl), чтобы после отправки сообщения из формы, любые нажатия на рефреш не отсылали повторного сообщения.

0
 



С нами с 29.01.04
Сообщения: 316
Рейтинг: 202

Ссылка на сообщениеДобавлено: 22/11/05 в 17:01       Ответить с цитатойцитата 

После приема и обработки POST запроса делать редирект на эту же страницу (тогда последним запросом будет GET), и никаких повторных POSTов )

3
 



С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802

Ссылка на сообщениеДобавлено: 22/11/05 в 17:12       Ответить с цитатойцитата 

1. После приема и обработки POST запроса выдавать страницу с инфой "ваше сообщение получено, кликните по ссылке, чтобы вернуться в гесту". Примерно то же самое предложил FEB, примерно так же работают почти все форумы.

2. Цеплять в форму какую-нибудь уникальную переменную (например юникс-таймстамп) и не добавлять запись в базу, если такая переменная там уже есть (если поле в БД уникально -- мускуль сам не добавит дублирующуюся запись)

Elitist Club и Adult Yellow Pages

0
 



С нами с 03.08.04
Сообщения: 129
Рейтинг: 263

Ссылка на сообщениеДобавлено: 22/11/05 в 21:50       Ответить с цитатойцитата 

+1 за редирект GET
сам так делаю

0
 

эксклюзивщик

С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512

Ссылка на сообщениеДобавлено: 22/11/05 в 22:40       Ответить с цитатойцитата 

тоже за редирект. Сам так делаю. Раньше тоже была проблема. Но тут простые только два выхода: или автоматический редирект или сообщение о добавлении с сылкой

уникальные предложения по съемке контента гомосексуального харрактера

0
 
+ + +


С нами с 22.08.05
Сообщения: 52
Рейтинг: 1

Ссылка на сообщениеДобавлено: 23/11/05 в 08:19       Ответить с цитатойцитата 

Спасибо всем. +3 FEB
Для чайников (типа меня), которым во всем нужно разбираться icon_smile.gif, привожу решение:
Код:

$q=new CGI;
$post=exe_post(); #подпрограмма обработки сообщения
if($post eq "ok"){
print $q->redirect("http://$SERVER/$NAMEGUEST/index.html");
exit};
print $q->header();
...


Последний раз редактировалось: svs (23/11/05 в 15:12), всего редактировалось 1 раз

0
 



С нами с 29.01.04
Сообщения: 316
Рейтинг: 202

Ссылка на сообщениеДобавлено: 23/11/05 в 13:44       Ответить с цитатойцитата 

Цитата:
$q->redirect


Тогда бы уже сразу написал, что экземпляр какого класса скрывается под $q -)

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »