Io solitamente in questi casi neanche uso le variabili di sessione ma mi passo i valori in campi "hidden" nel form
Le variabili di sessione le uso solamente quando ho dati che devono persistere per più di una o due pagine, come il fatto di essere loggato o meno, di aver scelto una skin particolare o roba del genere
In una situazione ipotetica pagina1->pagina2->pagina3, in cui voglio che pagina2 invii a pagina3 tutti i dati ricevuti da pagina1 oltre che ai propri, faccio una cosa del genere (immaginando che pagina1 invii i dati a pagina2 via post, altrimenti basta sostituire $_POST con $_GET
Codice PHP:
<form action="pagina3.php" method="post">
<?php
foreach($_POST as $key=>$value)
{
echo "<input type='hidden' name='$key' value='$value'>";
}
?>
resto del form di pagina 2
</form>