大抵の場合フォームでsubmitされたデータは、ファイルに保存したり、データベースに保存したり 何らかの処理がされます。
QuickFormでは、validateした後にガツガツ処理を書くかprocess関数を使ってフォームに入力されたデータを処理できるようにします。
process関数には、コールバックされる関数又はオブジェクトとメンバ関数を指定します。
<html> <head> <title>QuickForm サンプル</title> </head> <body> <?php require_once "HTML/QuickForm.php"; $objQF = new HTML_QuickForm('frmQF', 'get'); $defaultValue = array('txtNAME'=>'bnote','rdoSEX'=>'男'); $objQF->addElement('text', 'txtNAME', 'お名前は?'); $objQF->addElement('radio', 'rdoSEX','', '男',0); $objQF->addElement('radio', 'rdoSEX','', '女',1); $objQF->addElement('reset', 'btnCLEAR', 'クリア'); $objQF->addElement('submit', 'btnSUBMIT', '送信'); //デフォルト値の設定 $objQF->setDefaults($defaultValue); if ($objQF->validate()) { // フォームの検証 //フォームに入力された値を凍結する。 $objQF->freeze(); $objQF->process('reg_data',false); } $objQF->display(); function reg_data($values){ foreach ($values as $key=>$value) { echo $key . ' : ' . $value . '<br>'; } } ?> </body> </html>
上記スクリプトは、ユーザー定義のreg_data関数がprocess関数で呼ばれるように定義されています。 reg_data関数では、フォームで入力された値を連想配列として受け取っています。
後は、受け取ったデータを処理して終了です。
Copyright 1997-2010 BBB All rights reserved.