Передача данных методом 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)
Новые темыОбъявленияСвободное общение
22:20 Покупные ссылки 
07:24 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
22:21 Стоит ли добавлять сайт в Rambler топ 100? 
22:14 Rotapost прикрыли! Чем пользоваться? 
12:05 DLE не создает бэкап с админки сайта, как быть? 
11:52 Ночной бар в Паттайе: как случайная встреча с "тайкой" и её кадыком перевернула мой взгляд на продвижение сайта в Google 2026 
18:52 SEO под нейро 
04:19 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
21:45 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
19:53 Belurk — высокоскоростные анонимные прокси от 0,24 рублей 
19:01 CryptoGraph — Анонимный обмен криптовалют без KYC и AML 
18:10 Продажа крипто лидов, форекс лидов и чарджбек лидов для брокеров и трейдинг-платформ 
14:19 TokenTrade — Ваш новый надежный обменник 
14:00 Quix Email - сервис почтовых активаций 
22:12 BYTIK.shop – сервис по продвижению в популярных социальных сетях​ 
19:12 Добро пожаловать в цифровой мир... 
10:10 накрутка трафика в SimilarWeb 
16:50 Компьютерная мышь 
11:32 Про мясо 
22:11 С юмором по жизни! 
23:03 Точные прогнозы на футбол