Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Submit() при каждом Refresh()
 
 автор: codexomega   (02.09.2005 в 23:45)   письмо автору
 
 

Впервые встречаюсь с такой проблемой.
Создал что-то типа примитивной гостевой, но на одной странице.
То есть отображение и отправка сообщений на одной странице.
Простенький формуляр с тремя полями: имя, почта и сообщение.
Внизу кнопка Submit.
PHP скрипт проверяет, все ли поля заполненны, и только в том случае подключается к БД и отправляет данные.
Короче я заполняю поля, нажимаю на Submit, и мое сообщение тут-же появляется на странице, в списке других соощений.
Всё вроде как и должно быть.
Но! Если я нажму на Refresh в браузере, страница перегружается, и неизвестно почему опять срабатывает Submit, и я уже вижу копию моего сообщения в списке столько раз, сколько был сделан Refresh. Притом все поля формуляра чистые.
Наверняка информация где нибудь в буффере...
Можно ли что либо предпринять?
Спасибо.

   
 
 автор: Евгений Петров   (03.09.2005 в 00:00)   письмо автору
 
   для: codexomega   (02.09.2005 в 23:45)
 

Просто при обновлении данные посылаются ещё раз и в результате два сообщения. Сделай например небольшй таймаут, чтоб нельзя было написать больше n сообщений за n секунд

   
 
 автор: codexomega   (03.09.2005 в 00:36)   письмо автору
 
   для: Евгений Петров   (03.09.2005 в 00:00)
 

Не могли бы вы подсказать как это использовать?
Я нашёл одну функцию: set_time_limit()
Не знаю, подойдёт-ли.
Если что, куда всё это дело вставлять, до загрузки страницы? До Подключения к БД? После?
Спасибо.

   
 
 автор: codexomega   (03.09.2005 в 01:05)   письмо автору
 
   для: codexomega   (03.09.2005 в 00:36)
 

Всё, проблему уже решил.
Который раз меня выручает эта штука:


echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=feedback.php'></HEAD></HTML>";

Я поставил её сразу после записи данных в БД.
Теперь полный порядок.
Ещё раз спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования