1) 入力フォームを自動作成 – HTML_QuickForm
Webアプリケーションに必要な入力フォームをPHPで動的に生成しようとするとコードが煩雑になりがちです。今回ご紹介するHTML_QuickFormライブラリーを使うことで、HTMLを考慮することなく入力フォームを簡単に作ることができるようになります。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供
簡単な入力フォームの作成
まずは、「名前」「Eメールアドレス」を入力できる簡単なフォームを作ってみましょう。
<?php
require_once 'HTML/QuickForm.php'; ---(1)
$form = new HTML_QuickForm('form1', 'get'); ---(2)
$form->addElement('text', 'name', '名前'); ---(3)
$form->addElement('text', 'email', 'Eメールアドレス'); ---(4)
$form->addElement('submit', 'submit_button', '送信'); ---(5)
$form->display(); ---(6)
?>
(1):HTML_QuickFormライブラリーを読み込み
(2):name属性が「form1」、method属性が「get」のフォームオブジェクトを作成
(3):「名前」入力用のテキストボックスをフォームオブジェクトに追加
(4):「Eメールアドレス」入力用のテキストボックスをフォームオブジェクトに追加
(5):「送信」ボタンをフォームオブジェクトに追加
(6):フォームオブジェクトのdisplay()メソッドを呼び出しHTMLを出力
ブラウザーからこのファイルにアクセスしてみると、次の画面が表示されます。

入力された値の取得
「送信」ボタンを押したとき、入力された値を表示する機能を加えてみましょう。
<?php
require_once 'HTML/QuickForm.php';
$form = new HTML_QuickForm('form1', 'get');
$form->addElement('text', 'name', '名前');
$form->addElement('text', 'email', 'Eメールアドレス');
$form->addElement('submit', 'submit_button', '送信');
$form->display();
if (isset($_GET['submit_button'])) {
echo "<h3>入力された値は</h3>";
echo "名前:" . $_GET['name'] . "<br>"; ---(1)
echo "Eメールアドレス:" . $_GET['email'] . "<br>"; ---(2)
}
?>
(1):GETパラメーター「name」を出力
(2):GETパラメーター「email」を出力
「名前」と「Eメールアドレス」を入力して「送信」すると、入力した値が表示されます。

このように、HTML_QuickForm を利用するとHTMLを一切書かずに入力フォームを作成できます。
次回は、HTML_QuickFormの入力チェック機能をご紹介します。
関連キーワード


