お問い合わせフォーム(10)入力項目にselectボックスを追加する|FuelPHP学習帳

FuelPHP学習帳

スポンサーリンク

お問い合わせフォームでは、ユーザに住所を入力してもらうときに都道府県をセレクトボックスで表示させるケースは多いかと思います。

このページでは、お問い合わせフォームにselectボックスを追加するための手順をご紹介します。
前回のradioボタンに比べると、若干ですが手数がかかります。

以下のように、selectボックスを追加することを想定しています。

Fuelphp_Select

今回のセレクトボックスは、必ず選択してもらうように、選択必須をチェックするバリデーションも追加します。

コントローラーの修正

selectボックスのデータを扱うために、「item2」(名称は任意)というフィールドと、selectの選択項目をviewで表示させるために、変数を追記します。

/app/classes/controller/index.php

次に、selectボックスの選択を必須にするため、バリデーションのルールを追加します。
選択必須としない場合、この追加は不要です。

/app/classes/controller/index.php

変数$selectに格納した選択項目を、入力ページで表示できるように、ビューへ渡す変数に入れます。

/app/classes/controller/index.php

確認画面用のaction_confメソッド内にも、同様に変数$selectに格納した選択項目を表示できるように、ビューへ渡す変数に入れます。

/app/classes/controller/index.php

メール送信および送信完了メッセージ表示のためのaction_sendメソッド内の、メール本文のビューを呼び出す箇所に、$selectの選択項目を渡します。

/app/classes/controller/index.php

各ビューファイルの修正

続いて、入力画面のビューに、Formクラスを使って、selectボックスを追加します。

/app/views/index.php

Formクラスのselectメソッドのそれぞれのパラメータを解説すると、
Form::select(’フィールド名’,’vaule値’,’option’,’htmlタグ属性’)
のとおりとなります。

Session::get_flash(‘item2′)で、一度submitボタンが押されて、フラッシュseesionデータが保存されていれば、それをvalue値として表示しています。

次に、確認画面のビューに、入力から受け取ったselectボックスの値を表示させるために、配列$selectと、キー値として$item2 を呼び出します。

/app/views/conf.php

次に、送信完了後の受け取るメール本文のテンプレートにも、selectの値を追加します。

/app/views/contact_mail.php

動作確認

選択必須のチェックが正しく稼動していることを確認します。

Chk1

確認画面が正しく表示されています。

Chk2

送信完了画面と、メールが正しく届いたことを確認して、お問い合わせメールフォームにselectボックスを追加が完了しました。

PHPの求人数で比較する求人サイトまとめ


スポンサーリンク

FuelPHPに関連した本
はじめてのフレームワークとしてのFuelPHP 改訂版
改訂 FuelPHP入門
fuelphp 逆引きガイド
パーフェクトPHP (PERFECT SERIES 3)
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)
PHPエンジニア養成読本 〔現場で役立つイマドキ開発ノウハウ満載! 〕 (Software Design plus)
更新を受け取る
About

PHPフレームワーク初心者を対象に、FuelPHPの基礎、チュートリアルをお伝えするプログラミング学習サイトです。

動作環境について

運営者のブログ

更新のお知らせ

follow us in feedly

RSS購読