У меня такая проблема. На странице сайта есть форма для ввода, после ввода, данные (вместе с пользователем) отправляются на другую страниу, где проходит проверка, если данные прошли проверку то они заносятся в базу. Проблема заключается в следующем: если после занесения данных в базу обновить страницу, то эти же самые данные занесутся в бд ещё раз, если обновить ещё то они занесутся в 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" к примеру.
эта переменная попадает на страницу обработки твоей формы.
делаешь условие:
отправляешь со страницы с формой $_POST['send'] = "send" к примеру.
эта переменная попадает на страницу обработки твоей формы.
делаешь условие:
PHP |
if($_POST['send'] == "send") |
Когда данные полностью обработались и записались в БД, то присваиваешь этому $_POST['send'] = "none". При обновлении