yes you want to use a session to store the form across pages:
this is very straight forward
just like normal you write:
# form.php
<form action="submit.php" method="post">
<input type="text" name="field1" />
<input type="text" name="field2" />
which willl show up when submitted as
# submit.php
$_POST['field1'];
$_POST['field2'];
ok: now to save your whole form in the session you do this
# submit.php
if ( $error_in_form ) {
/// store the form in a session : simple now as its all one variable
$_SESSION['form'] = $_POST;
/// return to the form page
header('Location: form.php');
}
and rewrite form.php to look for a possible session form.
# form.php
<input type="text"
name="form[field1]"
value="<?php echo $_SESSION['form']['field1'] ?>">
<input type="text"
name="form[field2]"
value="<?php echo $_SESSION['form']['field2'] ?>">