Передача данных методом POST
Страницы: 1
Передача данных методом POST
Меня интересует одна темка, вот например у меня есть форма, с текстовым полем textarea и ссылка на обработчик данных этот же файл где и форма прописана.

Наши действия, мы пишем в поле текста "бла бла бла" и нажимаем отправить...
Далее идет скрипт типа
иф пост пришел и пост не пустой, то заливаем в базу и показываем сообщение, что все залито в базу.

Все прекрасно и все работает, НО если нажать F5 или просто обновить страницу, то вылазит вот такая гадость:
Рисунок


Как сделать, что бы если данные отправил, то с концами и при обновлении страницы браузер не просил их отправить повторно???

Конечно, можно написать на пхп скрипт, который будет проверять уже существующие в базе, но мне нужно что такое, что бы просто после отправки с первого раза уничтожило на повал эти данные...
Файл формы
Код
<fo rm method="post" action="go.php">

Обработчик
Код
<?php

   if () {
      //Всё хорошо то заливаем
   }
   header (Location: );
?>

У меня комментарии по такой схеме реализованы, записал, отправил, попал в обработчик, обработал - редирект обратно.
1) Нужно header (Location: ); вставлять, если удачно отправлено.
2) Вариант 2 - это записывать в сессии данные отправленные и если они совпадают с новопоступившими, то не выполнять условие. Этот вариант подойдет, если нужно даже после удачной загрузки данные оставить в форме, но не дать повторно их отправить.

P.S. Сам пользуюсь первым вариантом.

splish,
Ошибка твоего варианта в том, что если пользователь ничего не отправляет, он будет бесконечно редиректится и не обязательно отправлять запрос на другую страницу, я приверженец все делать на одной, представь просто если ты пишешь систему, а у тебя такие простые компоненты как обратная связь будут минимум из 3 файлов состоять, что тогда говорить о тяжелых компонентах.
Мне нравиться как на супре, отправляешь сообщения и все, нет потом никакой лажи с этим пост...
Олег,
После удачной отправки делай header("Location: http://куда/"); - и все
Иван, я написал простой пример, смысл был в том, что нужно делать перенаправление. Так же у меня запрет на отправку пустого сообщения.

Цитата
Иван пишет:
и не обязательно отправлять запрос на другую страницу, я приверженец все делать на одной, представь просто если ты пишешь систему, а у тебя такие простые компоненты как обратная связь будут минимум из 3 файлов состоять, что тогда говорить о тяжелых компонентах.

Писать весь код в 1 страницу? по мне дак лучше сделать отдельный обработчик (потом подключать его к нужным страницам) поступающих комментариев, тем более заметно это не будет, после отправки страница просто перезагружается, а не переходит на другую.
Не буду умничать, форум тут не по программированию, просто делаю вывод на основе строк:
Код
action="go.php"

Тут как раз я вижу переход на страницу, а не перезагрузка страницы

Код
 if () {
      //Всё хорошо то заливаем
}
header (Location: ); 

Тут вижу, что header (Location: ); - будет срабатывать даже если не все ок
Изменено: Иван - 28 Февраля 2011 16:04
Олег,
Немножко о процессе из кода...
Когда ты будешь отправлять команду редиректа пользователю в заголовках, то пользователь даже не узнает о том, что страница перезагрузилась, так как по сути, его будет перекидывать на другую страницу до того, как он, что-то почувствует, а если будешь редиректить на эту же страницу, то пользователь вообще не увидит перезагрузки.
Изменено: Иван - 28 Февраля 2011 16:08
AJAX в помощь
Иван, суть уловил и выходит вроде так, как и хотел...



Цитата
Shift пишет:
AJAX в помощь



С аяксами, явами и тп. вообще не дружу(
Хотя если не ошибаюсь, этот метод называется асинхронная передача данных?
AJAX за ним будущее !
Если хочешь, как на СУПРе, придется подружиться с аяксом smile:)
AJAX хорошо, даже весомого "НО" против не скажу
Изменено: Иван - 28 Февраля 2011 21:07
Пойду науку погрызу )))
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
16:45 Adfinity - Ваш надежный партнер в монетизации трафика 
15:05 Gambling Craft - гемблинг по белому 
19:35 Парсят сай до ddos 
16:02 DreamCash.tl - заработок на онлайн-видео. До 95% отчислений, отличный конверт! 
11:51 Ходяга(АнтиМинусинск) - программа для проклика ссылок, генерации поискового и соц.трафика, улучшения ПФ 
14:39 AviTool - мощный инструмент для автоматизации работы с Avito 
11:36 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
20:46 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
19:22 USMobileSMSBot - 
17:30 Обменный пункт cashalot.one. Выгодный обмен. 
14:51 Sapfirex.com - Современный сервис обмена криптовалют 
14:37 Sectormoney.com - быстрый и удобный обменник 
10:55 Аккаунт Пикабу 
17:49 BIGPROXY.SHOP - Резидентные Ротационные Backconnect Proxy USA EUROPA MIX [Безлимитный трафик] 
22:07 Точные прогнозы на футбол 
20:09 Сколько сейчас стоит наполнение ИМ? 
12:43 Куплю проигрышные букмекерские аккаунты 
04:33 Половина скидок на распродажах — фейк 
07:53 НейроБабушка наказывает мошенников 
19:59 Осталось 3-5 месяцев до блокировки YouTube в России, — заявил Клименко 
19:57 Пятница 13-ое: VK принял радикальное решение и закрыл доступ к порно контенту