[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Метод POST
in9emix
Доброе время суток всем, у меня вопрос по методу POST. У меня на сайте можно отправить комментарий к какой либо статье методом POST. И проблема заключается в том что если нажать "Обновить" в браузере то это же сообщение отправиться еще раз...и так бесконечное количество раз пока просто не перестанешь это делать. Можно ли как сделать что бы после обновления не отправлялось оно повторно...?

Вот скриншот. который появляется когда нажимаю кнопку "Обновиться страничку":

user posted image



Спустя 5 минут, 28 секунд (9.06.2012 - 06:53) Игорь_Vasinsky написал(а):
после того как принял и обработал данные - сделай редирект на себя, с помошью header();

header("Location:".$_SERVER['PHP_SELF']);


Спустя 1 час, 14 минут, 17 секунд (9.06.2012 - 08:07) in9emix написал(а):
На сколько я понял , вставлять надо сюда: <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

Но тогда каким образом данные полетят в бд?

У меня есть оператор echo на вывод информации которая попала в бд, я изначально думал поставить перед ним header("Location:".$_SERVER['PHP_SELF']);

Но что то не выходит, дело в том что с этим первый раз столкнулся, мне интересно на самом деле как это сделать, подскажите пожалуйста.

Спустя 54 секунды (9.06.2012 - 08:08) Игорь_Vasinsky написал(а):
нет. ты ни чё не понял.

Цитата
после того как принял и обработал данные

Спустя 15 минут, 41 секунда (9.06.2012 - 08:24) Guest написал(а):
Тебе надо избавится от массива $_POST, иначе он будет кружится с каждым нажатием обновить, обработчик массива $_POST должен запускаться до любого вывода информации в браузер, даже до
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


после того, как обработал поставь строку, как тебе правильно сказал Игорь_Vasinsky, она как бы перезапустит скрипт, только он будет уже без массива $_POST.

p. s.

header("Location:".$_SERVER['PHP_SELF']);
exit;


Думаю лучше так, чтоб скрипт не продолжал выполнение.

Спустя 1 день, 2 часа, 55 минут, 8 секунд (10.06.2012 - 11:19) in9emix написал(а):
Может из за того что методом POST передается id сессии, из за этого у меня ничего не получается сделать?

Вот ошибка:

user posted image

Спустя 29 минут, 33 секунды (10.06.2012 - 11:48) walerus написал(а):
in9emix На локалке тестишь ?

Спустя 9 минут, 58 секунд (10.06.2012 - 11:58) in9emix написал(а):
walerus, да( у меня денвер

Спустя 27 минут, 30 секунд (10.06.2012 - 12:26) inpost написал(а):
in9emix
Твой скрипт:
АААА ДЕЛАЕМ ПЕРЕАДРЕСАЦИЮ....

А надо:
Итак, мы получили данные с формы, теперь мы их обработаем и сделаем переадресацию. Если данных не было, то не делаем переадресацию и просто выводим форму.

Спустя 56 минут, 48 секунд (10.06.2012 - 13:23) in9emix написал(а):
В таком случае все работает, но когда кнопка отправляет методом POST id сессии то происходит все иначе...обновляешь страницу и появляется это окно:
user posted image

Спустя 39 секунд (10.06.2012 - 13:23) in9emix написал(а):
Дело в том что так было задумано изначально...без id сессии которая передается в некоторых местах, например при нажатии кнопки, юзера перекинет на страницу регистрации, иначе если все нормально, переместит туда куда он так сказать нажал.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.