Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2010, 22:35   #1
batusai
 
Регистрация: 23.10.2010
Сообщений: 9
Вопрос Передача данных методом POST

Здравствуйте!

Помогите решить, проблему, а то никак не пойму что нужно делать. Есть сайт у меня koblents . ru на нем в разделе контакты есть форма обратной связи. Там, когда заполняешь все поля, данные передаются обработчику, который засовывает данные в бд. Проблема в следующем. Изначально мы находимся на странице contacts.php потом когда отправили данные попадаем на zayavki.php и тут, когда нам пишут, что заявка принята, если страницу обновить, то все данные записываются в бд еще раз. И так сколько угодно раз, когда обновляешь страницу. Как сделать, чтобы данные вводились только один раз, а не при каждом обновлении.
Не из обычных людей тот, которого манит дерево без цветов.

Последний раз редактировалось SkyM@n; 29.10.2010 в 23:05.
batusai вне форума Ответить с цитированием
Старый 30.10.2010, 00:44   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

А при этом появляется предупреждение о том, что передаются данные из формы? В принципе, можно поставить куки или иное поле какое-то сделать, и туда инфу записывать о времени. А на сервере проверять, если время еще не прошло большее, чем что-то, то не записывать
motorway вне форума Ответить с цитированием
Старый 30.10.2010, 03:04   #3
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

Как вариант, для конкретного случая, в обработчике добавляем проверку:
Код:
<?
session_start();
if($_POST['text']!=$_SESSION['proverko'])
{
//записываем данные в БД
}
else
{
echo "неча страницы обновлять!";
}
$_SESSION['proverko']=$_POST['text']; 
?>
при первом обращении к странице обработчика, данные будут занесены в БД, а значение текста в форме будет записано в сессию. Если обновить страницу, то переданный из формы текст и текст записанный в сессии будут совпадать и запись в БД не произойдет.
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка данных методом post ANDEREY Работа с сетью в Delphi 4 11.08.2011 10:09
Передача данных Post на HTTPS talero Работа с сетью в Delphi 11 16.12.2009 03:06
форма не пересылает методом post veter_s_morya PHP 7 01.11.2009 10:43
Передача параметров методом POST A_r_r_a_y PHP 3 08.03.2009 22:49
Проблема с передачей данных методом POST Aiden Работа с сетью в Delphi 0 21.09.2008 21:11