[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с добавлением данных базу
$ilvant
Здраствуйте.
У меня такая проблема. На странице сайта есть форма для ввода, после ввода, данные (вместе с пользователем) отправляются на другую страниу, где проходит проверка, если данные прошли проверку то они заносятся в базу. Проблема заключается в следующем: если после занесения данных в базу обновить страницу, то эти же самые данные занесутся в бд ещё раз, если обновить ещё то они занесутся в 3-ий раз и т.д. Подскажите пожалуйста как избежать повторного занесения данных в бд.



Спустя 3 минуты, 37 секунд (18.10.2009 - 19:49) web-dev написал(а):
сделать редирект на главную

Спустя 25 минут, 12 секунд (18.10.2009 - 20:14) $ilvant написал(а):
другие способы есть?

Спустя 30 минут, 8 секунд (18.10.2009 - 20:44) sergeiss написал(а):
Это единственный разумный способ.

После добавления данных, когда ты убедился, что добавление прошло удачно, то даешь команду на редирект. Можно на эту же страницу, можно на другую.
А можно - через промежуточную страницу, на которой просто выводится информация о том, что данные добавлены в БД (как это сделано, например, на этом форуме, при нажатии на ссылку "Новые Сообщения").

Спустя 18 часов, 28 минут, 22 секунды (19.10.2009 - 15:13) Guest написал(а):
Спасибо за помощь

Спустя 2 дня, 45 минут, 19 секунд (21.10.2009 - 15:58) YanBess написал(а):
Есть ещё более надёжный способ, который я использую.

отправляешь со страницы с формой $_POST['send'] = "send" к примеру.
эта переменная попадает на страницу обработки твоей формы.
делаешь условие:
PHP
if($_POST['send'] == "send")
{
//записываем в БД
$_POST['send'] = "none"
}
else
{
echo 
"Не перегружайте страницу - данные повторно в БД не добавлятся!!!";
}

Когда данные полностью обработались и записались в БД, то присваиваешь этому $_POST['send'] = "none". При обновлении
Быстрый ответ:

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