最低限の機能を備えたメールフォームを作ってみたい【願望】パート2

前回:最低限の機能を備えたメールフォームを作ってみたい【願望】

前回は「入力」⇒「確認」⇒「完了」の流れを作りました。

次は、POSTされる情報と、name値について。

■STEP1

まずは超基本的なことですが、name値を付けて送信すると、連想配列の形で送信されます。

つまり、エラーなどで「入力ページ」に戻す仕様にしたような場合には、

としておけば、入力された状態で表示されます。

また、「確認ページ」の際は

として、表示する+hiddenフィールドに設定して、送信プログラムに飛ばせるようにします。

ちなみにこれは僕はこうしたってだけで一般的にどう作ってるかは知りませんので参考の一つにしてください。
$_POST配列をシリアライズしてひとつのhiddenフィールドで次に送ったり色々やり方はあるかと思います。

ここまでのDEMO

 

■STEP2

次は、多次元配列の形で送信する方法です。

たとえば「姓・名」や「電話番号」など、事実上ひとつの項目だが分けたいものなどは、「name[]」のようにするとひとつの配列として扱ってくれます。

PHPで言うところの、配列の最後に追加するときの書き方と同じですかね。もちろん、[]の中に予め数字を入れておいても同様の結果となります。

確認画面に来た際には、分けておく必要が特別なければ下記のように書いてしまっていいのではないでしょうか。

ここまでのDEMO

 

■STEP3

発展系ですが、たとえば欲しい商品の数分だけ枠を増やせるようにして「確認ページ」へも対応する方法です。

先ほどのSTEP2のDEMOのような商品の枠を増やせるようにします。
しかし先ほどのname値では少し扱いづらくなってしまうので、ひとつ目の枠を下記のようにします。

そうすると$_POSTの配列は下記のようになります。

これを、0、1、2…と増やしていけるようにすればいいですね。

ここからはJavaScriptの段階になるので次回、バリデートと含めて書きます。

投稿日:
カテゴリー: PHP

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です