What is being done by using the hidden form elements is that you are mimicking the interaction of the checkout page with the confirm page. Since the checkout page posts the form elements to the confirm page this page has been setup to work with the posted form element values. To keep this continuous hidden form elements are added and set to the values of the formerly posted elements. This way things like the validations will still occur and any references to the values on this page can use the posted values weather the values come from the checkout or the confirm page.