Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отправка данных из формы (https://javascript.ru/forum/misc/28623-otpravka-dannykh-iz-formy.html)

The special one 27.05.2012 12:48

Отправка данных из формы
 
Здравствуйте уважаемые программисты! Возникла проблема. Существует некая форма из поля для ввода текста и кнопки "отправить". Я ввожу в текстовое поле значение и нажимаю на кнопку, после чего переменная отправляется на сервер методом пост и сохраняется. Перезагружается страничка, снова создается форма с пустым полем для ввода текста и кнопкой, и я ввожу новое значение, которое снова сохраняется на сервере. Проблема в том, что когда я отправляю значение а потом нажимаю F5, то снова отправляется это же значение второй раз. Как мне сделать так, чтоб при обновлении страницы данные не передавались повторно.

Kolyaj 27.05.2012 13:41

Если запрос get, то не должно ничего добавляться, на то он и get (не должно, в смысле не надо так делать, а не в смысле не должно бы).
Если запрос post, то не надо на него отвечать контентом, лучше делать редирект на get.

The special one 27.05.2012 14:17

Сделаю просто: проверю, если переменная уже записана и пришла второй раз, то повторно сохранять ее не буду.

Как узнать, кто мне карму плюсанул?

melky 27.05.2012 14:43

нажать на "профиль" под аватаркой. или вправо-вверху нажать на "навигация" и там "профиль"

The special one 27.05.2012 15:05

Цитата:

Сообщение от melky (Сообщение 176847)
нажать на "профиль" под аватаркой. или вправо-вверху нажать на "навигация" и там "профиль"

Там написано за какую тему, какого числа, сколько очков, но не написано кто. Я так понимаю автор темы плюсанул, но мог плюсануть любой. Короче не понятно.

melky 27.05.2012 18:50

Цитата:

Сообщение от The special one (Сообщение 176857)
Там написано за какую тему, какого числа, сколько очков, но не написано кто. Я так понимаю автор темы плюсанул, но мог плюсануть любой. Короче не понятно.

ааа.. недавнее нововведение.. это был Maxmaxmахimus в теме самонаводка в игре

The special one 27.05.2012 20:29

На php форуме подсказали решение, нужно добавить строку:
<?
header('Location'.$_SERVER["REQUEST_URI"]);
?>


Цитата:

Сообщение от melky (Сообщение 176917)
ааа.. недавнее нововведение.. это был Maxmaxmахimus в теме самонаводка в игре

А как ты узнал?

observer 27.05.2012 21:15

Цитата:

Сообщение от The special one (Сообщение 176822)
Проблема в том, что когда я отправляю значение а потом нажимаю F5, то снова отправляется это же значение второй раз. Как мне сделать так, чтоб при обновлении страницы данные не передавались повторно.

А кто вам мешает добавить некий уникальный хэш к форме и сохранять только если приходит первый раз?

The special one 27.05.2012 21:47

Цитата:

Сообщение от observer (Сообщение 176977)
А кто вам мешает добавить некий уникальный хэш к форме и сохранять только если приходит первый раз?

Немного не понял, что значит (как) добавить уникальный хэш к форме?

observer 27.05.2012 22:07

Цитата:

Сообщение от The special one (Сообщение 176995)
Немного не понял, что значит (как) добавить уникальный хэш к форме?

Да любое уникальное значение, хоть так... хэш, имеется ввиду, что он генерируется не случайно, а исходя из неких параметров запроса, времени и др.

<input type="hidden" name="uuid" value="550e8400-e29b-41d4-a716-446655440000" />

Сделайте поле в БД и пишите туда значение каждый раз, при получении полей. Это поможет от перезаписи при обновлении страницы.

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


Часовой пояс GMT +3, время: 21:53.