Они используются для передачи данных, которые понадобятся при отправке формы. Одним из наиболее распространенных случаев будет форма, позволяющая пользователям редактировать некоторые существующие записи. Вам нужно будет знать, какую запись они редактируют, чтобы вы могли обновить правильную строку в базе данных при отправке формы. Однако пользователю не нужно редактировать (или даже знать) идентификатор записи, поэтому здесь хорошо работает скрытое поле.
Другие опции
Параметры URL :
Это также можно сделать, встроив параметры в URL-адрес, на который отправляется форма:
<form action="save.php?entry_id=1234">
но это означает, что вы должны правильно обрабатывать создание URL-адреса и экранирование данных, а длина URL-адресов, принимаемых серверами, ограничена, поэтому она может не работать для более длинных данных. Так что обычно проще использовать скрытые поля формы.
Переменные сеанса : при загрузке страницы редактирования вы сохраняете идентификатор записи в переменной сеанса, а затем извлекаете его на странице, где сохраняются изменения. Это намного легче испортить, хотя; настройка и поддержка сеансов может потребовать добавления кода в нескольких разных местах, а затем их сеанс может истечь между загрузкой и сохранением, и вы должны убедиться, что он работает, если у них открыто несколько окон или вкладок, и вы должны убедиться в этом не делает странных вещей, когда они наносят ответный удар. Из-за всех этих потенциальных ловушек это не лучший способ решить эту проблему - передача идентификатора вместе с передаваемыми данными намного надежнее.
Cookies : во многих языках / средах сессии отслеживаются с помощью куки, поэтому они в основном одно и то же решение. Подводные камни такие же, как и для переменных сеанса, даже если сеансы отслеживаются другими методами.