ライブラリ導入のメリット
動作サンプルページ普通のformの動作です。
重要なのはデータの受け取り方。
このライブラリを利用することで、formから送信された情報は全て
$Gform[(数字)]に代入されます。
数字は、formの順番で指定できます。
例
print $Gform[2];とか

使い方
lb_form.phpを開き
//設定箇所--------------------------
$FN="forms";//FOAMのname
//----------------------------------
$FNの設定を行います。
これはformの送信部分
<input type="text" name="この部分">
の設定になります。
この部分は、連番で生成されていきます。
これは、簡易的なスパム防止につかいます。
運営中においても、変更が出来ます。
index.phpを開きサンプルの確認をします。
$dir="./";
include($dir."lb_form.php");
頭の部分にあるこれが、form生成ライブラリを呼び出しています。
Form_t("20","40","デフォルト表示",$Fs0,$FN);$Fs0=$Fs0+1;
Form_
t ここを変更することで、ボックスの形状などを指定します。
"ボックス幅","40","デフォルト表示"となっている部分がボックスの情報です。
"文字幅","最大受付文字数,"デフォルト表示"という設定箇所になります。
Form_tテキストタイプ
Form_t("40","250","デフォルト文字",$Fs0,$FN);$Fs0=$Fs0+1;
デフォルト文字が必要なければ、""としてください。
Form_hhiddenタイプ
Form_h("hiddenの内容",$Fs0,$FN);$Fs0=$Fs0+1;
Form_pパスワードタイプ
Form_p("20","40","デフォルト表示",$Fs0,$FN);$Fs0=$Fs0+1;
Form_mマルチテキストボックス
Form_m("30","5","コメントボックス",$Fs0,$FN);$Fs0=$Fs0+1;
マルチテキストボックスの二つ目
例でいう"5"は、高さ(行)になります。
Form_endFORMの終了直前に入れておく。
この呼び出しは、送信FORMを生成する為のものです。
データの受け取り
送信準備が完了したら今度はデータを受け取る方です。
これは
test.phpを開いてもらえるとわかります。
<?php
$dir="./";
include($dir."lb_post.php");?>
この2行でデータを全て$Gform[(数字)]に代入します。
例
print $Gform[5];
こんな感じで呼び出せます。
また、送信用ライブラリの使用が面倒なときは、$FNで指定した名前+連番を付ければ送信FORMを作れます。
例
$FN="forms"の場合
<input type="text" name="forms0">
<input type="text" name="forms1">
連番で送った順番に
$Gform[0]
$Gform[1]と代入されます。
こういう状態にしておけば、
$Gform[$i]といった使い方が容易にできる為、for文によって色々使えるようになります。
テキストファイルへ書き込む為に
$string = $Gform1."t"Gform2."t".$Gform3."t".$Gform4."n";
といった文字列を作るときもfor文で簡単にできます。
lb_post.phpは、エスケープ処理などを行っていません。
もし、このプログラムを強化して使う場合は、危険なコードをエスケープするようにここでしておけばOKです。
ちなみにlb_post.phpの中身はたったこれだけ
<?php
include($dir."lb_form.php");
$san="^[0-9]+$";
//ポストされた個数が、半角数字か調べる
if(ereg($san,$_POST[$FN])){
$maxform=$_POST[$FN];
for($i=0;$i<=$maxform;$i++){
$Gform[$i] = $HTTP_POST_VARS[$FN.$i];
}
}
?>
すごい。
フォームの受け渡しもこんな方法があるなんて知りませんでした。
ありがとう。
| ナレッジ | 2007/10/28 20:07 | URL | ≫ EDIT