フォームを作成するとき、作り方としては大きく2つに分かれます。それぞれメリット・デメリットがあるので、ご要望に応じて作り方を変える必要があります。
POSTした値をhiddenで持ち越す方法です。入力項目分だけhiddenを作る必要がありますが、値の持ち越し方としては比較的楽に持ち越すことができます。
ただし個人情報などを多く扱う場合、開発者ツールを使ってhidden値を意図的に変えられるとこちらの意図する値を取得できないというセキュリティホールができてしまいます。
まあそこまでする人はあまりいないと思いますが、やっぱり気になりますね。
入力値をいったんセッションに保存し、次ページではセッション値を展開することでフォームを作る方法です。見た目上はhiddenと変わらないですが、セッションで価を保持するため、表向きは値をいじることが難しいのでセキュリティ性は高くなります。
ただしセッションを使うため、適切なセッション管理をしないと入力値がセッションに残ったままとなり、無駄なデータが増えてしまいます。
セッション管理についてはいろんなサイトで紹介されていますが、やはりしっかりしたセッションの知識がないと理解や使用が難しいですね。
フォームは色々な場面で使えますが、規模や目的に応じて適切な作り方をできればよいかと思います。あとフォームにはSSLが必要な場合がほとんどですので、SSLの知識も必要になるかなぁと感じています。
最近はRapidSSLなど個人で手軽に使えるSSLも増えたので、こちらも規模に応じて使い分けていければいいですね。