Я всегда использую сессию.Я видел, как вы беспокоитесь о людях, которые не используют куки, но я не думаю, что это проблема в эти дни, так как я не думаю, что есть много пользователей, отказывающих куки.
Я предпочитаю сеанс,его легко хранить, извлекать и легко настроить.Когда вы уменьшаете масштаб (до большего количества серверов), вы можете легко настроить свое приложение для хранения состояния сеанса в базе данных сервера sql, чтобы вы были готовы к будущему.
Скрытые поля, которые я иногда использую, когда их нетконфиденциальная информация хранится между шагами, потому что пользователь может редактировать значение скрытых полей.
Если между постами много информации, и вы не хотите много скрытых полей, вытакже можно создать объект для вашего хранилища (как вы бы создали, когда бы вы хранили его в сеансе) и сериализовать объект, закодировать в base64 и сохранить его в ОДНОМ скрытом поле.