Вопрос по обработке формы

Статус
В этой теме нельзя размещать новые ответы.

Rigor

Профессор
Регистрация
1 Июн 2008
Сообщения
203
Реакции
35
Есть форма, в ней инпуты, чекбоксы, аеры и т.д. И есть такой глюк, что при обновлении значения сохранаяются. Всмысле если отправить - данные в БД добавятся. И если обновить, они ещё раз добавляются. Сейчас этого не проиходит из-за проверки на существования такого же в бд. Но хотлеось бы чтобы такого вобще не было. Как правильно форму проверять?

Сейчас проверяю !empty($send)
 
Есть форма, в ней инпуты, чекбоксы, аеры и т.д. И есть такой глюк, что при обновлении значения сохранаяются. Всмысле если отправить - данные в БД добавятся. И если обновить, они ещё раз добавляются. Сейчас этого не проиходит из-за проверки на существования такого же в бд. Но хотлеось бы чтобы такого вобще не было. Как правильно форму проверять?

Сейчас проверяю !empty($send)

Может я не так понял, но вот:
PHP:
if ($_POST['send']){
header('Location: script.php');
}
 
alexz15
Проблема в том, что форма и обработка находятся в одном файле
 
поставь код что я привел в начало скрипта, как только отправишь форму, скрипт переправит тебя на тот же файл, и не будет повторной отправки.
 
Запиши в сессию, что формо обработана, а в начале файла проверяй.
 
PHP:
$s = $_SERVER['HTTP_REFERER'];
if ($_POST['send'])
{
header("Location: $s ");
}
Может лучше так сделать на всякий левый случай?
Можно хоть подробней немного раскрыть тему того,что нужно сделать?
 
PHP:
if(isset($_POST['send'])) {

 тута делаешь проверки на существование записи в БД.
}
 
можно так попробовать:

кнопка:
Код:
<input type="submit" name="go"/>

в коде перед тем как обрабатывать данные делаем проверку:
Код:
if (!empty($go))
{
обработка формы
}
 
tirrex, в таком варианте при обновлении страницы данные посылаются повторно, а значит и параметр go тоже отправится.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху