В дополнение к уже упомянутым хорошим предложениям о том, как убрать пользователя со страницы публикации, чтобы кнопка обновления и назад были безвредными, еще одним уровнем улучшения хранения данных является использование UUID s в качестве ключей в свою таблицу и пусть ваши приложения генерируют их.
Они также известны как GUID в мире Microsoft, и в PHP вы можете сгенерировать их с помощью uniqid () в PHP. Это шестнадцатеричное значение из 32 символов, которое следует хранить в шестнадцатеричном / двоичном формате столбца, но если таблица не будет интенсивно использоваться, сработает CHAR (32).
Сгенерируйте этот идентификатор при отображении формы в качестве скрытого ввода и убедитесь, что столбец базы данных помечен как первичный ключ. Теперь, если пользователю удастся вернуться обратно на страницу публикации, ВСТАВИТЬ не удастся, потому что у вас не может быть дубликатов ключей.
Дополнительным бонусом является то, что если вы генерируете UUID в коде, то после выполнения вставки вам никогда не потребуется использовать расточительные запросы для получения сгенерированного ключа, потому что вы уже знаете его. Это хорошее преимущество, когда вам нужно вставить дочерние элементы в другие таблицы.
Хорошее программирование основано на многоуровневой работе, а не на одной вещи для работы. Несмотря на то, что кодеры обычно полагаются на инкрементные идентификаторы, они являются одним из самых ленивых способов построения таблицы.