複数ページのForm

複数ページのFormはあまり使う機会がないが、項目が多いユーザ登録やショッピングカート、項目が多いアンケートなどで使うことがある。

複数ページのForm (Wizard)
方法1 Sessionに保存する
方法2 cookieに保存する(セキュリティの問題のため個人データなどでは使えない)
方法3 hidden fieldに保存して引きずりまわす(乱暴な言い方ですが...) (面倒であり、戻る場合に対応できない)

たぶん方法1が一番良さそうだ。(2,3は使うべきではない場合が多い)

方法1では、PEARにHTML_QuickFormというのがあり、それが使えるらしい(一時期使おうとしたことがあるが、今はZFになっているのであまり使いたくない)

ZFで、複数ページのFormについてのドキュメントがある。
Zend_Form の高度な使用法 - Zend_Form - Zend Framework
これはsession(Zend_Session_Namespace)に保存している。あまりスマートなコードではないが、将来的にはコンポーネントを用意すると書いてあるのでそれに期待するとしよう。
現状では、上記リンクのようなコードにするか、手書きでSessionに保存するコードを作成するかのどっちかになるだろう。

ZF1.5では、Zend_Formがでてきた(以前からあったのだろうか?)ので、これを使うのかも検討しないといけないな。