Запрет добавления в базу при обновлении страницы

Рейтинг: 0Ответов: 1Опубликовано: 27.03.2015

Доброго времени суток. Вопрос такой. На странице есть форма. В нее мы вбиваем данные. После этого жмем отправить. Форма обрабатывается самой страницей. Данные попадают в базу. Все огонь. Но если после этого обновить страницу, то данные отправляются в базу повторно. Вопрос, как этого избежать? Второй вопрос - можно ли сделать unset глобального массива $_POST?

Ответы

▲ 1Принят

Генерируйте уникальный string, например, выражением md5(time()). Результат типа 5027a4d8064c9419ef1d39faf725ae35df331946 сажайте в форму, наряду с другими элементами, в виде:

<input type='hidden' name='check' value='5027a4d8064c9419ef1d39faf725ae35df331946' />

Затем, при обновлении страницы, проверяйте SELECT-ом наличие строки в таблице с такой записью. Если уже есть, то не делайте INSERT еще раз.