no sessions are not necessary for this
one trick is to have only one file and have it submit to itself...
if it sees submitted data it acts upon it
otherwise it prints the form...
if ( isset($_POST['the_form_data'] ) {
process_data( $_POST['the_form_data'] );
} else {
print_the_form();
}
some people have two files..
one that just does the form
one that just processes the form
if this is the case you can use the $_SESSION to remember things between pages, and can use the header() trick to jump from the processing page to either a success page, or back to the form...
but i must stress as you pointed out that neither is the correct way
whatever way you can get working is the correct way...