Я помню, как давно боролся с этой проблемой, удивляясь, почему я просто не мог перенаправить с измененным заголовком POST. Причиной перенаправления считается GET.
Независимо от того, вам нужно хранить переменные записи в скрытых полях.
<input type="hidden" name="someValueFromPageOne" value="blah">
Я бы порекомендовал добавлять префиксы всех имен полей в каждой форме, чтобы их было легко отличить во время фазы консолидации в конце.
<input type="hidden" name="pageOne_firstName" value="Joe">
<input type="hidden" name="pageTwo_streetNumber" value="22">
Редактировать: Как уже упоминали другие, сохранение данных с использованием сеансов является одной из возможностей, но это становится очень сложным вопросом поддержания временного состояния, которое может затруднить поддержание таких вещей, как обновление страницы или использование кнопки возврата. Если вы не столкнулись с крайним случаем, гораздо проще сохранять данные с помощью полей, поскольку они выживают при обновлениях и других режимах работы браузера гораздо проще.