入力フォームの作成

No Comments

アンケートアプリケーションで使用する入力フォームを、Smartyで作成する場合の方法についてです。

まず、通初期化処理の関数化は、PHPのロジックファイル内で、他のファイルと共通して行う処理があります。
たとえば、どの画面でもセッションは使いますし、Smartyも画面を出力する画面では必ずインスタンスの生成を行います。
これらの処理をinit()という関数をつくって、すべてのファイルからインクルードして初期化設定とします。
マスターデータを呼び出す関数も、別関数として分けておくとよいでしょう。

次に、入力フォームを司る input.php の作成です。
アンケー卜入力フォームを裏側で表示したり、入力された値を受け取るなどの処理を行うPHPファイル 「input. php」 を作成します。
このinput. phpファイルに遷移してくるパターンは主に3パターンあります。
1つ目に、アンケートを入力しようと初めてアクセスしに来る場合。
2つ目に、アンケート入力後に登録確認ボタンがクリックされて入力された値が POST される場合。
そして、3つ目に、確認画面より戻るボタンにより戻ってきた場合です。
この3点を想定しながらプログラミングします。
2つ目の登録確認ボタンがクリックされたタイミンクでは、入力された値をセッションに保存し、 Location ヘッダを操作して確認画面へ画面遷移するようにプログラミングします。
ここでは、MySmartyを生成して、性別のリストと年代のリストをassignして、Smartyを表示するスクリプ卜を記述しましょう。

⑨ アンケートのHTML入力フォームの作成

テンプレートエンジンSmartyを使用して、アンケートの HTML入力フォームを作成する方法です。
入力フォームは input.php から display により出力されるものですが、入力された値を POST するアクション先は確認画面でなく、出力元である input.php へ遷移します。
自分自身の呼び出し元に戻す形になるため、一見不自然に思われるかもしれませんが、input.php では入力された値が正しいかのチェックを行います。
つまり「入力に関して」の挙動をすべて入力フォーム内で完結させることによって、スクリプトと画面の役割を明確にできるのです。
ここでは、Smarty での性別のラジオボタンの作成と年代のセレクトボックスと好きな動物のチェックボックスリストの作成を行ないます。

また、入力エラーがあった場合は前回入力したものをデフォル卜入力 (選択) されていることを想定しながら input.tpl を定義します。
たとえば、テキストフィールド <input type=”text” >であればvalue属性に前回入力された値をセットしなければなりませんし、ラジオボタン <input type=”radio” >なら「checked=”ch ecked”」を定義するなどの措置が必要となります。

Categories: Uncategorized

Leave a Reply

Your email address will not be published. Required fields are marked *