夢もなく、怖れもなく
sarusaruMailForm - HTMLに関数を埋め込むだけで簡単に作れるメールフォーム

※【追記】新しいVerをこちらで公開しています
Webサイト制作を行うと、ほぼ必ず必要となるメールフォーム。
たまに自分でやっつけようと思うと、毎回毎回地味に手間がかかる。
なんだか無意識レベルでストレスだな、と感じて1年前ぐらいにライブラリ(?)にした。
しばらく忘れていたのだが、ちょっと引っ張り出す機会があったので公開。
一般的なメールフォームはこんなイメージだろうか。
【地味に手間がかかる理由】
・フォーム項目が変わると、都度「入力」「確認」「送信」の繋ぎを調整する必要がある
※仕様の途中変更があった場合も、ちょっと嫌
・必須項目のチェックとかが必要
・PerlやPHP内でのHTMLソースの管理が面倒
※Dreamweaverのライブラリとかも適用しにくい
上げ連ねただけで、なんとも煩わしい。あー嫌だ嫌だ。
結局、項目の管理を「ページ単位」でやる事が問題なんだと思い至り
各項目をFlashのMCのような感覚で、各 input タグが自走するようなものを作ってみた。

使い方はとても簡単で、基本的に<input>タグ類を関数に置き換えるだけで動作する。
【使い方】
①入力フォーム用のHTMLファイルを用意する
②ライブラリを読み込む
※ファイル先頭で以下のように読み込みます
<?php
require './sarusaruMailForm_conf.php'; //設定ファイル
require './sarusaruMailForm_lib.php'; //ライブラリ
?>
③<form>タグ直下にcheckStatus() 、</form>タグ直前にfromSubmit()を設定
<form action="this.php" method="POST">
<?php checkStatus();?>
・
・
・
・
<?php formSubmit();?>
</form>
④<input>タグ類を以下の関数に差し替える
⑤拡張子を.phpにして保存。
⑥完了
一旦完了してしまえば、後は<form>内に関数を足したり引いたりするだけ。
【関数】
【オプション機能】
※設定ファイル内のフラグでON/OFFする
【サンプル】
以下のソースだけで、項目1つのメールフォームが作れる。
<?php
require './sarusaruMailForm_conf.php'; //設定ファイル
require './sarusaruMailForm_lib.php'; //ライブラリ
?>
<html><head></head><body>
<form action="index.php" method="POST">
<?php checkStatus();?>
■名前 : <?php formNameKanji('氏名','1'); ?>
<?php formSubmit();?>
</form>
</body></html>
たとえば1つ項目を増やす場合はこうなる
<?php
require './sarusaruMailForm_conf.php'; //設定ファイル
require './sarusaruMailForm_lib.php'; //ライブラリ
?>
<html><head></head><body>
<form action="index.php" method="POST">
<?php checkStatus();?>
■名前 : <?php formNameKanji('氏名','1'); ?><br />
■感想 : <?php formText('感想','1',''); ?>
<?php formSubmit();?>
</form>
</body></html>
その他もろもろ盛り込んだサンプル
・動作サンプル (ソース)
【ダウンロード】
・sarusaruMailForm
【その他】
・heteml / ロリポで動いている。たぶんPHPは動けばほぼ動く。
・商用利用をされる場合は、ご一報くださいませ。
2008/01/13 01:02Comments (0)TrackBacks(0)
TrackBack URL
http://sarusaruworld.com/mt/mt-tb.cgi/178