No, you capture the submitted information in the $_POST array... you loop through that array and using $var=>$val pairs, you assign hidden fields the name of $var and a value of $val...
Take this as an example:
<form action="proc1.php" method="post">
Name: <input type="text" name="name"><br>
Age: <input type="text" name="age"><br>
<input type="submit" name="Submit" value="Next Step">
proc1.php
<?php
$hidden = '';
foreach($_POST as $var=>$val)
{
if($var != 'Submit')
{
$hidden .= '<input type="hidden" name="'.$var.'" value="'.$val.'">';
}
}
echo '<form action="proc2.php" method="post">
Height: <input type="text" name="feet"> feet <input type="text" name="inches"> inches<br>'.$hidden.'
<input type="submit" name="Submit" value="Finish">';
?>
proc2.php
<?php
echo 'Your name is <b>'.$_POST['name'].'</b> and you are <i>'.$_POST['age'].'</i> year(s) old. You claim that you are <i>'.$_POST['feet'].'\' '.$_POST['inches'].'"</i> tall, but I know better...';
?>
If you started at the first form, and filled everything out, you'd get this output:
Your name is Brett and you are 22 year(s) old. You claim that you are 5' 8" tall, but I know better....