Se puede hacer por sessiones si, y de hecho tengo un articulo que escribi acerca de las sessiones. Aqui va la direccion:
http://www.jotorres.com/es/2011/12/sessions-in-php/
Lo malo de utilizar sessiones en este caso es que hay que borrarlas manualmente, y el post lo hace automatico.
Tambien puedes hacerlo atraves de $_POST, pero eso va a requerir escribir los campos de la pagina 1 en la pagina dos en campos 'hidden'
Código:
<input type="hidden" name='campo_pagina_uno' value="<?php echo $_POST['variable_pagina_uno'];?>" >
<input type="hidden" name='campo_pagina_uno' value="<?php echo $_POST['variable_pagina_uno_variable_dos'];?>" >
etc...
Espero que esto te ayude ;)