ch 必須入力
ch0 項目のいずれかが必須入力
CH0 項目のいずれかが必須入力(両方入力はエラー)
alr0 同じ入力があればエラー
addX 同じ名前の項目にX(任意)で連結します
frontX データの前にX(任意)で指定したキャラクターを挿入
endX 後にX(任意)で指定したキャラクターを挿入
mail メールアドレスのフォーマットをチェック
mailc メールアドレスの再入力をチェック
mailx 自動返信メールの送信先メールアドレス項目を指定
mailk 指定アドレスに管理者へ送られる同じメールを送信
url URLアドレスのフォーマットをチェック
rg4:1-5 半角英数字項目の入力桁数、範囲をチェック
crg2-5 文字項目の入力桁数をチェック
crG2-5 文字項目の入力文字数をチェック
tel 電話番号など半角数字、区切り文字をチェック
zipX 郵便番号をチェック
NoX 半角数字をチェック
commaX 3桁ごとのカンマを入力後に挿入
commadX 3桁ごとのカンマを確認画面で挿入
br 値の改行を<br>に置き換えて保存
blk 値がブランクの場合、確認画面で表示しない
blkd 値がブランクの場合、確認画面で表示、送信しない
conti 最終確認画面で前の項目に改行せず続けて表示
NOCP 擬似会員処理で前回データをセットしない項目に指定
dateX 1つのセレクトボックスの西暦年月日をチェック
ltd_date 3つの入力欄の西暦年月日をチェック
hira 全角ひらがなの入力項目
kata 全角カタカナの入力項目
asc 半角の入力項目
zen 全角の入力項目
h_kata 半角カタカナが含まれているとエラー
only:X 指定したX以外が含まれていないかチェック
dame:X 指定したXが含まれていないかチェック
maxX 複数選択項目の最大選択数Xを指定
name 項目が名前であることを明示
etc 自動返信メールの%etc%と差し替える項目を指定
pass4-16 パスワード項目をチェック
passr pass と同じチェックを行うと同時に暗号化して送信
dck このオプションがついた項目で重複送信をチェック
#:XX 入力エラーでname=""属性以外の項目名を表示
cookie この項目名の入力値をクッキーに保存
id_chk 入力値はIDとして登録済みかどうかをチェック
mobile_id 携帯電話のIDを取得してセット
fix この項目名の入力値は変更処理で変更できません
edit この項目は変更処理でIDとなります
hidisp このhidden項目名の入力値は確認画面に表示
today このhidden項目名の入力値には本日の日付をセット
minus 送信可能数を設定した場合、減数する項目に設定
val 保存するテキストと表示するテキストを分けません
code 個別送信フォームで参照するコードを指定
unrec この項目はサーバーへの保存をしません
unsend この項目は管理者アドレスリストへ配信しません
eq 入力値の値が指定値と等しい
inputcheck 判断を伴う必須入力をチェック
inputnch 判断を伴う必須入力をチェック(入力がなければ)
all_or_nothing 複数の項目が全て未入力か全て入力
nodisp 判断を伴って最終確認画面と自動返信メールに表示しない
case 入力項目名の値と比較して結果をセット
フォーム・ジェネレータを使わずにフォームのHTMLを作成する場合の注意点
オリジナルの送信フォームをお持ちの場合はマスター管理者メニューの「送信フォーム移行」を使えば簡単に作成することができます。
フォームHTMLファイルの漢字コードを明確にできるよう metaタグを記述してください。
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
name="" の値に半角の = " は使えません、また#,_で始まる名前も使えません。(正しくない例:name="aaa=bbb" name="#aaa" name="_aaa")
type="" value="" name="" の囲み記号は " を使ってください、' は使えません。
value="" の値に半角の " は使えません。(正しくない例:value="aaa"bbb")
input は必ずフォームタグの先頭に位置して下さい。(例:<input type= ~)
リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスはフォームHTMLファイルが存在するディレクトリからの相対パスで記述すればドキュメントルート / からのパスに自動補正します。
自動補正を行いたくない場合は設定プログラムファイル formmail_set.pl の $auto_sw=1; を $auto_sw=0; に変更してください。
HTMLの記述の仕方やスクリプトを含む特殊なタグを使っているとうまく補正できない場合があります。
その場合は、以下の方法で回避してください。
CGIプログラムが存在する実行パスからの相対パスか、ドキュメントルート / から記述して下さい。
もしも相対パス、ドキュメントルート / からのパスがわからない時は http:// から始まる絶対パスで記述してください。
【推奨】フォームHTMLファイルの<head>~</head>の間に<base href="">を記述してリンクの基準となるURLを指定します。
例えば、<base href="http://www.xxx.co.jp/test/">と指定するとこのフォームHTMLファイルに書かれている相対パスはhttp://www.xxx.co.jp/test/を基準として参照されます。
ただし、HTMLソース内に同一ページ内へのリンク記述があるとうまくリンクできませんので注意が必要です。(<a name="xxx">、<a href="yyy#xxx">)
タグは1行に一つのタグで完了して下さい。途中で改行やスペース、タブをいれたり1行で2つのイメージタグを記述したりしないで下さい。
入力時には表示されるが再入力画面、正しい入力で最終確認画面を「フォーム形式」にしたときに表示させたくないHTMLソースを以下のコメントタグで囲むと再入力画面ではこの部分は表示されません。(複数箇所可能) コメントタグは独立した行で記述し文頭にスペース等の文字を入れないで下さい。
<!--s--> 表示したくないHTMLソース 表示したくないHTMLソース<!--e-->
入力時には表示されるが正しい入力で最終確認画面を「フォーム形式」にしたときに表示させたくないHTMLソースを以下のコメントタグで囲むと再入力画面ではこの部分は表示されません。(複数箇所可能) コメントタグは独立した行で記述し文頭にスペース等の文字を入れないで下さい。
<!--sok--> 表示したくないHTMLソース 表示したくないHTMLソース<!--eok-->
エラーがあったときの再入力画面にのみ表示したいHTMLソースは以下のように指定します。
<!--#error#
エラーがあったときの再入力画面だけに表示したいHTMLソース1
エラーがあったときの再入力画面だけに表示したいHTMLソース2
#error#-->
正しい入力で最終確認画面にのみ表示したいHTMLソースは以下のように指定します。
<!--#ok#
正しい入力で最終確認画面だけに表示したいHTMLソース1
正しい入力で最終確認画面だけに表示したいHTMLソース2
#ok#-->
表示したいHTMLソースの中に %input項目名% を記述すると入力された値に置き換わります。
「input項目名」は <input type="text" name="項目名(ch)" size="15"> の項目名を指定し ( ) のオプションは外して指定します。
再入力画面をフォーム形式にした時、エラー内容は <body> タグの後に挿入されて表示されます。
もし、希望する場所に表示させたい場合は初期設定の「入力に不備があった時の確認画面は?」の項目の「<!--er_form--> タグと置換」をチェックします。
そしてフォームHTMLに <!--er_form--> タグを挿入したい場所に記述します。
Tips <!--ER_form--> タグを挿入するとエラー項目番号だけを表示し項目名、エラー内容は表示しません。
フォーム、入力タグ(form,input,name,type,hidden,select,option,checkbox,radio,submit等)
は空白を入れないでください、=の後は""で囲むか半角スペースが区切りになります。
valueやnameの=の後は""で囲むようにしてください''シングルクォテーションは囲み記号には使えません。
だめな例 正しい記述 原因
<in put type~ <input type~ タグにスペースが入っている
<input type='text' name='abc' <input type="text" name="abc" シングルクォテーションは囲み記号には使えません
CGIを指定します。パスが違う場合だけ変更します。
添付ファイル版でファイルを参照している場合は <form タグに enctype="multipart/form-data" が必要です。
例:<form name="my_form" method="post" action="/cgi-bin/formmail/formmail_pro.cgi?%set%" enctype="multipart/form-data">
SSL を使って送信する場合で共用サーバーなどでホームページのURLと違うURLでSSLサーバーを指定しなければならない場合は action="" のCGI指定を https:// でフルに記述してください。
また、設定ファイル formmail_set.pl の 10行目 $cgi2='formmail_pro.cgi'; も同様に https:// でフルに記述してください。
例:https://www.xxxx.ne.jp/~yyyy/cgi-bin/formmail_pro.cgi?%set%
もう一つのSSLを指定する方法は BASE HREF のタグを埋め込むことです BASE HREF にhttps:// でSSLサーバーのURLを指定します。
この場合は、設定ファイル formmail_set.pl の 10行目 $cgi2='formmail_pro.cgi'; は変更する必要はありません。
基本的には Form Action に CGI(formmail_pro.cgi)をSSLで呼び出すURLを https://~ 指定を行い、 BASE HREF に非SSLのホームページのURL を http://~ 指定します。
<form> 行の次の行でこのフォームの漢字コードを判定するためのダミーデータを置きます。必ず input 項目の最初に置いてください。
次にID(フォーム登録名)を指定します。
次に携帯、スマホ用のフォームの場合は携帯、スマホ認識用hidden項目を追加します。
Tips value="1" を指定すると「初期設定」で指定した送信フォーム、テンプレート、送信後のURL指定などのHTMLソースファイルを 指定ファイル名_i.html として採用します。 「初期設定」をPC用と携帯用に共用することになります。
Tips value="0" を指定するとこのフォームIDは携帯専用となり「初期設定」での設定は携帯用として設定します。
Tips value="2" を指定するとスマホ用のフォームとなり「初期設定」で指定した送信フォーム、テンプレート、送信後のURL指定などのHTMLソースファイルを 指定ファイル名_s.html として採用します。
<form name="my_form" method="post" action="/cgi-bin/calendar/formmail_pro.cgi? ">
<input type="hidden" name="_check" value="判定">
<input type="hidden" name="_imode" value="1">
<input type="hidden" name="_id" value="test">
送られてくるデータを別のIDのデータファイルに保存する
<form name="my_form" method="post" action="/cgi-bin/calendar/formmail_pro.cgi?%set% ">
<input type="hidden" name="_check" value="判定">
<input type="hidden" name="_id" value="test">
<input type="hidden" name="_idx" value="test1">
この例ではフォームID「test」の設定で送信するが、データはフォームID「test1」に保存します。
例えば、PC用と携帯、スマホ用の複数のフォームを使用したいがデータは1つにまとめて保存したい場合に有効です。 ただし、データの並びは同じでなければなりません。もし携帯、スマホ用の項目が少なければhiddenでダミー項目を置いてください。
Tips 送信するフォームHTMLファイルを初期設定で指定したファイル以外を使用する場合の設定(高度理解者用)
<form name="my_form" method="post" action="/cgi-bin/formmail/formmail_pro.cgi?%set% ">
<input type="hidden" name="_check" value="判定">
<input type="hidden" name="_form" value="form1.html">
<input type="hidden" name="_id" value="test">
この例の場合は初期設定の「フォームHTMLファイルを指定します」で指定したフォームHTMLファイルが /home/docs/aaa/form.html なら /home/docs/aaa/form1.html が送信したフォームHTMLファイルとして解釈します。
初期設定の「フォームHTMLファイルを指定します」で指定したフォームHTMLファイルと同じディレクトリにあるフォームHTMLファイルを指定することができます。
フォームHTMLファイルはルート又はドキュメントルートから指定します( /~)、また絶対パスで指定する時は _/~ で指定します。
必ず<input type="hidden" name="_id" value="test">より前で指定してください。
Tips 管理者宛メールのサブジェクトを「初期設定」以外を指定することができます。
<input type="hidden" name="_subject" value="管理者宛メールのサブジェクト">
入力チェックでエラーがあっても無視したい場合は
<input type="hidden" name="_nocheck" value="on">
フォームメールプロをカスタマイズして使用する場合に使用します。(他のフォームの項目値を引き継ぐ場合に有効です)
hidden属性でデータ(value)を管理者に送りたい場合は name の最初の文字を _ 以外にします。
<input type="hidden" name="文房具 " value="pencil ">
hidden属性でデータ(value)を確認画面で表示させたい場合はオプション(hidisp) を name の最後に付加します。
<input type="hidden" name="文房具(hidisp) " value="pencil ">
formmail_pro.cgi の中のカスタマイズサブルーチンを起動させるには hidden のname属性とデータ(value)で指定します。(高度理解者用) オプション(exe) を name の最後に付加します。
value にサブルーチン名と後、半角の,で区切った定数をセット( @Vset に格納されます)することができます。
<input type="hidden" name="計算(exe) " value="keisan,10,20,30 ">
サブルーチン内での処理では、$FORM{'項目名'}の値やサブルーチンを呼び出した時に引き渡した定数( @Vset )を参照することができます。結果は $FORM{'項目名'} に格納します。
サブルーチンを呼び出した項目、この例の場合は $FORM{'計算'} に結果を格納することはできません。(結果用の hidden 項目を指定しておいて下さい)
CGIで動的にフォームメールHTMLを出力してフォーム送信を行う場合の設定
マスター管理者の「初期設定」メニューの使用するフォームHTMLには CGI がHTMLファイルを出力するパスのファイル名を指定しておきます。(例:/home/docs/aaa/form.html)
この場合は _セッションID を次のように挿入したフォームHTMLファイルから送信すると解釈されます。
/home/docs/aaa/form_セッションID.html
CGI でフォームをブラウザに出力すると同時に上記の初期設定で指定したディレクトリに保存します。
保存するファイル名は、「初期設定」メニューの使用するフォームHTMLに指定したファイル名に _セッションID を挿入したファイル名にしてください。
出力するフォームには次のようにそのフォーム固有のユニークなセッションIDをセットして下さい。(順番に注意)
<form method="post" action="https://www.xxx.co.jp/cgi-bin/formmail/formmail_pro.cgi?%set%">
<input type="hidden" name="_check" value="判定">
<input type="hidden" name="_session" value="セッションID">
<input type="hidden" name="_id" value="フォームID">
<input type="hidden" name="_imode" value="1">(携帯用のフォームの場合)
入力する項目~
</form>
セッションIDは以下のプログラムの例のようにユニークなIDを生成して下さい。
# (セッションIDに月日時分秒+0~100の乱数を使用する場合の例)
@datex=localtime(time);
$datex[4]=$datex[4]+1;
srand(time|$$);
$session_id=sprintf("%02d%02d%02d%02d%02d",$datex[4],$datex[3],$datex[2],$datex[1],$datex[0]).(int(rand(100)));
動的にCGIでフォームメールHTMLを出力してフォーム送信を行う場合にはその時の一時フォームファイルを作成し処理します。
送信前の確認画面で実際に送信した場合は一時フォームファイルはその時点で削除されます。
しかし、送信が行われなかった場合は一時フォームファイルは削除されず残ってしまいます、そのため1日の最初に送信が行われた時に残った一時フォームファイルを削除するようになっています。
フォーム送信の度に固定項目を再入力してもらうのを回避する方法
フォーム送信の度に固定項目を再入力してもらうのを回避するため送信時に固定項目をクッキーに保存しておくことができます。
クッキーに保存しておく項目はフォームHTMLの入力項目のチェックオプションに cookie を指定します。
例:<input type="text" name="住所(ch//cookie)">
クッキーを反映させて送信フォームに表示させるには formmail_display.cgi を以下のように呼び出すか、リンク先に指定します。
http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%
http://www.xxxx.co.jp の部分とCGI呼び出しのパスはあなたのサーバーのURLに置き換えてください。
(引数)id: の後にフォームのIDを指定します。携帯電話用フォームは +i を続けて指定します。
英語版フォームのHTMLを作成する場合の注意点。
フォームIDタグの前 に以下の英語対応のタグを記述してください。
<input type="hidden" name="_english" value="on">
<input type="hidden" name="_id" value="test">
英語フォーム用にスーパバイザー管理者メニューからフォームを追加登録してください。
フォームメールHTMLの入力項目を javascript で操作する場合の設定
フォームメールHTMLの入力項目を javascript で操作する場合、name="" に日本語名称を使用することができません。
また、アルファベットの名前を使用しても名前に (チェックオプション) をつけるとうまく動作しません。
そのため、 javascript で操作するinput項目には namex="日本語名称(オプション)" を追加して指定します。
例:<input name="use_java" size="10" namex="日本語名称(ch)">
この例では、javascript で操作するinput項目名に use_java を使い、表示名、データ名には日本語名称を使っています。また、この入力項目のチェックオプションは (ch) を指定しています。
CGIサーバーとWebサーバーが別々のマシンの場合の注意点
フォームメールプロはフォーム送信が行われるごとにフォームHTMLファイルを解析して処理します。
そのためCGIサーバーとWebサーバーが別々のマシンでCGIサーバーのHTMLファイルや画像がブラウザ上から呼び出せない場合は以下のような設定をしなければなりません。
Webサーバー側にCGIサーバー側に用意したフォームHTMLファイルと同一のものをアップロードし、来訪者にはそのページからフォーム項目への入力を行ってもらいます。
CGIへのリンク(<form タグの記述は変更しなければいけない場合があります。
また、リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスはドキュメントルート / から記述するかhttp:// から始まる絶対パスで記述してください。
または、フォームHTMLファイルの<head>~</head>の間に<base href="">を記述してリンクの基準となるURLを指定して下さい。
option(select)、checkbox、radio 項目で選択値、表示値の設定
Tips option(select)、checkbox、radio 項目で保存するテキストと表示(確認画面、自動返信メール、管理者へのメール)するテキストを変えることができます。
option(select)、checkbox、radio 項目のvalue値を半角の $ で保存するテキストと表示するテキストを区切って指定します。
例:<select name=xxx><option value="01$デジカメ">デジカメ<option value="02$液晶テレビ">液晶テレビ</select> この例では液晶テレビを選択した場合、保存されるデータは 02 ですが表示(確認画面、自動返信メール、管理者へのメール)される時は「液晶テレビ」となります。
保存されるデータをコード化して保存データ量を減らしたいが表示はわかりやすくしたい場合などに有効です。
※ 確認画面を表示させない設定をした場合は使えません。またこの機能を使う場合はvalue値に半角の $ を値として使えません。
半角の $ を使いたい場合やこの機能を使わない項目を明示したい場合は val オプションを指定します。
例:<select name=xxx(val)><option value="デジカメ">デジカメ<option value="液晶テレビ">液晶テレビ</select>
メール本文の中で使える置換タグ(本文中に置換タグを挿入すると以下の置換が行われます)
タグ 置換される項目 タグ 置換される項目
%%項目名%% 項目名の入力値 %%項目名%_% 項目名の入力値(改行抜き)
%date% 送信時の日付(漢字使用は %datej%) %time% 送信の時刻(漢字使用は %timej%)
%key番号% 表示CGIデータ %renban% 連番
%data% フォームで送信されたデータ一覧 %name% 名前
%mail% メールアドレス %etc% etc項目
%id% フォームID %url% ホームページURL
{{計算式}} 四則演算 +-*/ が可能です(Perl の計算式が記述できます、例:{{%%数量%%*%%単価%%/100}})
メール本文の中で使える条件式(本文中に挿入すると入力内容によってメール文を変えることができます)
●記述フォーマット 最初の行は条件を半角のカッコで括って記述(if:条件)、次の行からは条件が真の場合の記述、最後の行は半角の(if:)で終了
最初の行(if:条件)、最後の行半角の(if:)はそれぞれ1行で記述します。(if:条件)、(if:)以外は記述しないで下さい
●条件は本文の中に何度でも挿入できます、また条件の中にまた条件を記述する入れ子も可能です
●項目名はフォームの入力項目の name="名前(ch)" の名称です。オプションの (ch) 等は省いて記述します
●また、条件は !and!、!or! で続けて複合条件とすることもできます、(if:項目名[比較演算子]比較値!and!項目名[比較演算子]比較値)
(if:項目名=比較値!and!項目名<>比較値)
比較の結果、真の場合に挿入されるメール文
~
(if:)
実際の記述例は右の欄をご覧ください
比較できる特別な入力値(該当しない時はブランクとなります)
入力項目名 セットされている値(該当しない時はブランクとなります)
#登録# 送信者(会員)がデータを登録されている時に 1 がセット
#変更# 送信者(会員)がデータを変更されている時に 1 がセット
#削除# 送信者(会員)がデータを削除されている時に 1 がセット
#携帯電話# 携帯電話からのアクセスされている時に 1 がセット
#携帯メール# 携帯電話のメールアドレスが入力されている時に 1 がセット
#会員# 会員が登録データをID、パスワードで呼出し送信されている時に 1 がセット
メール本文の中で使える比較演算子一覧(文字比較)
文字比較 使用例 条件指定(例の場合入力項目、入力値が)
!eq! 入力値!eq!ABC ABC,abcと等しい
!eQ! 入力値!eQ!ABC ABC,abcと等しい、ブランクは等しいと判断
!EQ!、= 入力値!EQ!ABC ABCと等しい
!ne! 入力値!ne!ABC ABC,abcと等しくない
!nE! 入力値!nE!ABC ABC,abcと等しくない、ブランクは等しくないと判断
!NE!、<> 入力値!NE!ABC ABCと等しくない
!ct! 入力値!ct!ABC ABC,abcを含む
!CT!、!= 入力値!CT!ABC ABCを含む
!nct! 入力値!nct!ABC ABC,abcを含まない
!NCT!、! 入力値!NCT!ABC ABCを含まない
!fct! 入力値!fct!ABC ABCで始まる
!Gt! 入力値!Gt!ABC ABCより大きい
!Ge! 入力値!Ge!ABC ABCより小さいか等しい
!Lt! 入力値!Lt!ABC ABCより小さい
!Le! 入力値!Le!ABC ABCより小さいか等しい
!Rg! 入力値!Rg!ABC_XYZ 範囲内にある ABC>= 値 <XYZ
!bl! 入力値!bl!yes(no) ブランク(yes)、ブランクでない(no)
※ 文字比較と数字比較では結果が変わります。例えば 1234 と 99 を文字で比較すると 99 が大きいと判断されます。数字で比較しないと正しく判断されません。
※ 等しい、等しくないの条件のみ【文字比較】【数字比較】のパターンが逆になっていますので注意してください。
※ 条件の値がブランクの場合は条件に合致したと判定します。
※ 等しい、等しくない、含む、含まないの条件でアルファベットの大文字小文字を区別して判定したい場合は比較演算子を大文字で指定します。(例:!CT!)
メール本文の中で使える演算子一覧(数字比較)
数字比較 使用例 条件指定(例の場合入力項目、入力値が)
!Eq! 入力値!Eq!123 123と等しい
!Ne! 入力値!Ne!123 123と等しくない
!gt!、> 入力値!gt!123 123より大きい
!ge!、>= 入力値!ge!123 123より小さいか等しい
!lt!、< 入力値!lt!123 123より小さい
!le!、<= 入力値!le!123 123より小さいか等しい
!rg! 入力値!rg!1000_2000 範囲内にある 1000>= 値 <2000
!Bl! 入力値!Bl!yes 0(yes)、 0 でない(no)
!mlt! 入力値!mlt!10 経過月数が10ケ月未満
!dlt! 入力値!dlt!10 入力値!dlt!-10 本日から10日前未満 本日から10日先以上
※ 文字比較と数字比較では結果が変わります。例えば 1234 と 99 を文字で比較すると 99 が大きいと判断されます。数字で比較しないと正しく判断されません。
※ 等しい、等しくないの条件のみ【文字比較】【数字比較】のパターンが逆になっていますので注意してください。
※ 条件の値がブランクの場合は条件に合致したと判定します。
※ 等しい、等しくない、含む、含まないの条件でアルファベットの大文字小文字を区別して判定したい場合は比較演算子を大文字で指定します。(例:!CT!)
管理者宛メール本文の編集時に使用できるタグ
タグ 指定できる内容 記述例
subject: メールの件名を指定します subject:メールの件名です
email: 送り先の管理者メールアドレスを指定します email:<mail@abc.com>
from: メールの送信元を指定します from:送信元名 <mail@abc.com>
※ 指定のない項目は初期設定の管理者メールデータが使われます
入力エラー用、確認用カスタムテンプレートHTMLファイルを作成します(フォームマスター管理者メニューの「初期設定」の30.,31.で設定した場合のみ)
フォームメールプロは入力のエラーがあったときのエラー確認画面、全ての入力項目が問題なく入力された時の最終確認画面をテンプレートとしてカスタマイズすることが可能です。
最終確認画面をカスタマイズすることにより表示フォーマットの変更や送信データを保存するときの順序、自動返信メールに表示するときの項目の順序を変更することができます。
(自動の最終確認画面ではフォームに記述された入力項目の順番になります)
初期設定で入力の確認をカスタムテンプレートHTMLファイルを使用して表示させる設定を行った場合はカスタムテンプレートHTMLファイルを作成します。
確認用カスタムテンプレートには入力エラーがあったときに使われるエラー用と、入力エラーがなかった場合に使われる確認用の2種類があります。
インストール直後は入力エラーがなかった場合に使われる確認用カスタムテンプレートは ok_standard.html が使われます。
このテンプレートはマスター管理者メニューの「テンプレート編集」で変更することが可能です。
初期設定でカスタムHTMLを選択しているにもかかわらずカスタムHTMLを指定していないとフォームのHTMLファイルを解析してカスタムHTMLを自動で作成してくれます。(ファイル名はフォームのHTMLファイルと同じになります、またエラー用はファイル名_e.htmlとなります)
自動で作成されたカスタムHTMLを編集して使用することもできます。(マスター管理者メニューから編集できます)
リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスは確認用HTMLファイルが存在するディレクトリからの相対パスで記述すればドキュメントルート / からのパスに自動補正します。
自動補正を行いたくない場合は設定プログラムファイル formmail_set.pl の $auto_sw=1; を $auto_sw=0; に変更してください。
HTMLの記述の仕方やスクリプトを含む特殊なタグを使っているとうまく補正できない場合があります。
その場合は、以下の方法で回避してください。
CGIプログラムが存在する実行パスからの相対パスか、ドキュメントルート / から記述して下さい。
もしも相対パス、ドキュメントルート / からのパスがわからない時は http:// から始まる絶対パスで記述してください。
【推奨】確認用HTMLファイルの<head>~</head>の間に<base href="">を記述してリンクの基準となるURLを指定します。
例えば、<base href="http://www.xxx.co.jp/test/">と指定するとこの確認用HTMLファイルに書かれている相対パスはhttp://www.xxx.co.jp/test/を基準として参照されます。
ただし、HTMLソース内に同一ページ内へのリンク記述があるとうまくリンクできませんので注意が必要です。(<a name="xxx">、<a href="yyy#xxx">)
確認用は「表示項目」~ <form method=post action=""> 保存項目~ submit ボタン </form> で構成します。
(<form~action="" にCGIプログラム名を記述する必要はありません)
実行するCGIを敢えて指定しフォームIDなどを固定で指定したい場合は、<form method=post action="/cgi-bin/formmail_pro.cgi?%set%"> で action を指定しIDなどの hidden 項目を配置します。
カスタムHTMLファイル内に配置する項目名はオプションを省いたものを使います。例:お名前(ch) -->お名前
カスタムテンプレートには2種類のタイプがあります。1つはフォームに存在するインプット項目を自動でセットできる自動タイプ、もう1つはインプット項目の name属性の名前をご自分で配置する手動タイプです。
■自動タイプのテンプレート記述法
自動タイプは「確認再現」でのテンプレートには使えません。
自動タイプは送信される入力項目のデータ並びはフォームに出てくる順番になります。
<!--loop--> と<!--loop_end--> で囲まれたタグ群が入力項目数だけ繰り返して表示されます。
囲まれたタグ群の中には以下の置換タグを配置することができます。
<!--name--> 項目名に置き換わります。
<!--value <br>--> 項目名の入力値に置き換わります。<br>の部分は入力値がブランクの場合に置き換えるタグを指定します。
<!--error <br>--> 入力エラーメッセージに置き換わります。<br>の部分は正しい入力(このタグがブランクに置き換わった)の場合に置き換えるタグを指定します。
フォーマット例:<!--loop--> <tr bgcolor="#FFFFFF"><td bgcolor="#FFFFCE"><!--name--> </td><td><!--value <br>--> </td></tr><!--loop_end-->
テンプレートファイル例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
<title>送信前確認</title><body style="font-size:13px;color:#333333">
<center>
<table border=0 cellspacing=1 cellpadding=2 bgcolor=#333333 style="font-size:13px;color:#333333">
<tr bgcolor=#999999 align=left style="color:white"><th align=center>項目名</th><th> 送信されるデータ</th></tr>
<!--loop--><tr bgcolor=#FFFFFF><td bgcolor=#FFFFCE><!--name--></td><td><!--value <br>--></td></tr><!--loop_end-->
</table>
<form method=post action="">
<br><span style="font-size:13px;color:#333333">上記の内容に間違いがなければ、「送 信」をクリックしてください。</span><br><br><input type=submit name=#_submit value="送 信"> <input type=button name=#_can value="入力画面に戻る" onClick="javascript:history.go(-1)">
</form></body></html>
■手動タイプのテンプレート記述法
●入力エラー用、確認用カスタムのカスタムHTMLファイル内で使用できる表示に関するタグ
手動タイプは送信される入力項目のデータ並びはご自分で記述する順番になります。
フォーマット:<!--xxx {!項目名!}オプション yyy-->
オプションには「B」「C」が組み合わせて指定できます、「=」「!=」は単独で使用します。
「B」入力値がブランクの場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です。
「C」入力値に3桁ごとのカンマが挿入されて表示されます。
「=」この入力項目の入力値が yyy と等しい場合は以下の <!--{} --> タグまでのソースを出力します。等しくない場合は出力されません。
「!=」この入力項目の入力値が yyy と等しくない場合は以下の <!--{} --> タグまでのソースを出力します。等しい場合は出力されません。
例:<!--{!購入します!}=はい-->
~
<!--{} -->
この例では入力項目「購入します」の値が「はい」の場合は~の部分のソースを出力し「はい」以外の場合は出力しません。
and、or の複合の条件で判断させたい場合は自動返信メールで使用できる (if:購入します=はい) の条件式を使用します。
例:(if:購入します=はい!and!希望時間=午前)
~
(if:)
<!--xxx {!項目名!}B yyy--> 項目名の入力値に置き換わります。(Bを付けると入力値がブランクの時 <br> に置き換わります
<!--xxx E{!項目名!}B yyy--> 入力値にエラーがあった場合にエラー内容に置き換わります。(エラー用に使用します。Bを付けるとエラーが無かった場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です)
<!--価格 {!項目名!}BC 円--> 項目名の入力値を3桁ごとのカンマを挿入し置き換わります。(入力値がブランクの場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です)
以上のタグで xxx を指定すると xxx が前に表示され、yyy を指定すると yyy が後ろに表示されます。(価格12,345円)
<!--print_button--> 初期設定で確認画面を「印刷」に設定した時に、印刷ボタンに置き換わります。
<!--form--> 確認画面を送信しないときに<form method=post value=""> ~の代わりに記述します。
●データ保存に関するタグ(マスター管理者メニューの「初期設定」の3.でサーバーにデータを保存する設定をした時のみ)
<!--{%項目名%}-->
指定した項目名の入力値がサーバーに保存されます。
<!--{%項目名1,項目名2,~%}-->
項目名を半角のカンマで区切って指定すると復数の項目を一括で指定できます。
上記のデータ保存に関するタグが1つも存在しないときはマスター管理者メニューの「初期設定」の1.で設定されている送信フォームのHTMLファイルを解析して同じ順で保存するよう自動設定します。
●確認用の例
<html>
<head><title>確認画面</title></head>
<body bgcolor="#FFFFFF">
<center><table border="1" cellpadding="2" cellspacing="0" style="font-size:13px"><tr bgcolor="#FFFFCE"><th>項目名</th><th>入力(選択)内容</th></tr>
<tr><td bgcolor="#FFFFCE">お名前</td><td><!--{!お名前!}B--></td></tr>
<tr><td bgcolor="#FFFFCE">ご住所</td><td><!--{!ご住所!}B--></td></tr>
<tr><td bgcolor="#FFFFCE">メールアドレス</td><td><!--{!メールアドレス!}B--></td></tr>
<tr><td bgcolor="#FFFFCE">画像ファイル</td><td><!--{!画像ファイル!}--></td></tr>
</table>
<form method="post" action="">
<!--{%お名前,ご住所,メールアドレス,画像ファイル%}-->
<br><!--print_button--> <input type="submit" name="#_send" value="送信">
</form></body></html>
●エラー用の例
<html>
<head><title>エラー画面</title></head>
<body bgcolor="#FFFFFF">
<form method="post" action="">
<center><table border="1" cellpadding="2" cellspacing="0" style="font-size:13px"><tr bgcolor="#FFFFCE"><th>項目名</th><th>入力(選択)内容</th><th>エラー内容</th></tr>
<tr><td bgcolor="#FFFFCE">お名前</td><td><!--{!お名前!}B--></td><td><!--E{!お名前!}B--></td></tr>
<tr><td bgcolor="#FFFFCE">ご住所</td><td><!--{!ご住所!}B--></td><td><!--E{!ご住所!}B--></td></tr>
<tr><td bgcolor="#FFFFCE">メールアドレス</td><td><!--{!メールアドレス!}B--></td><td><!--E{!メールアドレス!}B--></td></tr>
<tr><td bgcolor="#FFFFCE">画像ファイル</td><td><!--{!画像ファイル!}--></td><td><!--E{!画像ファイル!}--></td></tr>
</table>
<br><input type="button" name="#_can" value="入力画面に戻る" onClick="javascript:history.go(-1)">
</form></body></html>
テキストエディターで独自に作成されたカスタムHTMLファイルは使用するフォームディレクトリの下の _formhtml/_temp ディレクトリにアップロードして下さい。
入力項目を指定します
以下実際の入力項目を指定します、name の後ろに半角 ( ) をつけると入力の際に色々なチェックをかけたり機能を持たせる事ができます。
全ての入力項目で半角カタカナが入力された場合は無条件に全角カタカナに変換します。
2つ以上のオプションが続く時は // で続けます。例:(ch//name)
フォームメールプロは name の値を確認画面の項目名として表示します。
そのため、name は実際の項目名がわかる日本語表記で付けてください。 オプション部分の()を除いた部分が実際の name になります。
name の値に半角の = " は使えません(正しくない例:name="aaa=bbb")、value の値に半角の " は使えません(正しくない例:value="aaa"bbb")。
input は必ず入力タグの先頭に位置して下さい。(例:<input type= ~)
checkbox 項目で name が同じ項目については最初の name にのみオプションを指定してください。 また複数選択を望む場合は選択項目の name ( )を除いた部分を同じにしてください。
今日の朝食は(3つまで複数選択可能)
<input type="checkbox" name="朝食(ch//max3)" value="海苔">海苔
<input type="checkbox" name="朝食" value="たまご">たまご
<input type="checkbox" name="朝食" value="納豆">納豆
<input type="checkbox" name="朝食" value="漬け物">漬け物
<input type="checkbox" name="朝食" value="焼き魚">焼き魚
radio 項目で name が同じ項目については全ての name に同じオプションを指定してください
性別: 男性<input type="radio" name="性別(ch)" value="男性">
女性<input type="radio" name="性別(ch)" value="女性">
ch =必須入力の項目に指定します。
以下は名前が必須入力となります。
名 前 <input type="text" SIZE="12" name="名前(ch)">
生年月日 <input type="text" SIZE="20" name="生年月日">
エラーメッセージ ----> 必ず入力してください
ch数字 =同じ数字で指定した項目のいずれかが必須入力の項目になります。
番号は0から初めて下さい。
以下は電話番号と携帯電話番号のいずれかが必須入力の項目になります。両方に入力があってもOKです。
<input type="text" size="20" name="電話番号(tel-//ch0)">
<input type="text" size="20" name="携帯電話番号(tel-//ch0)">
エラーメッセージ ----> のいずれかを必ず入力してください
CH数字 =同じ数字で指定した項目のいずれかひとつが必須入力の項目になります。
番号は0から初めて下さい。(ch の数字とダブらないで下さい)
以下は電話番号と携帯電話番号のいずれかが必須入力の項目になります。両方入力された場合はエラーになります。
<input type="text" size="20" name="電話番号(tel-//CH0)">
<input type="text" size="20" name="携帯電話番号(tel-//CH0)">
エラーメッセージ ----> のいずれかひとつを入力してください
eqテキスト =入力値の値がテキスト指定値と等しい
このオプションは送信前の規約の同意、不同意の確認などに使用します。
<input type="radio" name="▼規約同意(ch//eq同意)" value="同意" />規約に同意します。
<input name="▼規約同意(ch//eq同意)" type="radio" value="不同意" checked="checked" />規約に同意しません。
エラーメッセージ ----> 同意(eqテキスト)がチェックされていません
<!--input check="AAA=BBB" name="aaa|bbb"--> =判断を伴う必須入力をチェックしたい時に指定します。
●判断する項目が1つでチェックしたい入力項目が複数
このオプションは <form タグ~ </form> タグの間の任意の行に配置します。(複数可)
check属性(フォームメールのための属性)には項目名(オプションの( )は省く)と項目名の値を半角の = または != で区切って指定します。
上記の場合は項目名 AAA の値が BBB の時に name 属性で指定した項目の入力があったかをチェックします。
= を != にすると項目名 AAA の値が BBB に等しくない時にとなります。
= を : にすると項目名 AAA の値に BBB が含まれている時にとなります。
= を !: にすると項目名 AAA の値に BBB が含まれていない時にとなります。
name 属性に指定する項目名は複数の指定が可能で半角の & または / 、! で区切ります。& (AND) で区切ると複数の項目の全てが必須入力となります。
/ (OR) で区切った場合は指定した項目のうちどれか1つでも入力があれば OKになります。
! (OR) で区切った場合は指定した項目のうちどれか1つだけに入力があれば OKになります。
複数の項目を指定するときは & (AND)、! (OR) を組み合わせて指定することはできません。
Tips & (AND)、! (OR) を組み合わせて指定したい場合は <!--input check="AAA=BBB" name="aaa!bbb"--> を複数行にわけて指定します。
例:<!--input check="返答=要" name="電話!メールアドレス"-->
<!--input check="返答=要" name="名前&住所"-->
(項目「返答」の値が「要」の場合は「名前」「住所」は必須、「電話」「メールアドレス」はどちらかが必須入力としてチェックされます。
例:<!--input check="返答=要" name="電話!メールアドレス"-->
(項目「返答」の値が「要」の場合は項目「電話」あるいは「メールアドレス」が必須入力としてチェックされます。
項目「電話」あるいは「メールアドレス」には必須のチェックを指定しないでください。
項目名、値の指定に半角の ! = : を使用することはできません。= は : で置き換えることができます。
必須入力を指定する項目のオプションに(ch)は付けないでください。
●判断する項目が複数でチェックしたい入力項目が1つ <!--input check="AAA=BBB!CCC=DDD" name="aaa"-->
このオプションは <form タグ~ </form> タグの間の任意の行に配置します。(複数可)
check属性(フォームメールのための属性)には判断条件を半角の & または / 、! で区切ります。& (AND) で区切ると複数の条件全てが満たされた場合、/ 、! で区切ると複数の条件のうち一つでも満たされた場合に入力があれば OKになります。
判断条件は項目名(オプションの( )は省く)と項目名の値を半角の = または != で区切って指定し、上記の場合は項目名 AAA の値が BBB または CCC の値が DDD の時に name 属性で指定した項目に入力があれば OKになります。
= を != にすると項目名の値が等しくない時にとなります。
複数の条件を指定するときは & (AND)、! (OR) を組み合わせて指定することはできません。
項目名、値の指定に半角の ! = : を使用することはできません。= は : で置き換えることができます。
入力をチェックする項目(上記の例では「aaa」)のオプションに(ch)は付けないでください。
●複数の項目が全て未入力か全て入力
このオプションは <form タグ~ </form> タグの間の任意の行に配置します。(複数可)
check属性には all_or_nothing を指定します、check属性には半角のカンマで区切った項目名を指定します。指定した複数の項目に全て入力があるか、全て入力がないかをチェックします。
入力をチェックする項目(上記の例では「aaa、bbb、ccc」)のオプションに(ch)は付けないでください。
<!--input check="AAA=BBB" name_nch="aaa!bbb"--> =判断を伴う入力をチェックしたい時に指定します。
このオプションは <form タグ~ </form> タグの間の任意の行に配置します。(複数可)
上記のタグと同じですが、違うのは「入力があれば」が「入力がなければ」となることです。
<!--input check="all_or_nothing" name="aaa,bbb,ccc"--> =複数の項目が全て未入力か全て入力
このオプションは <form タグ~ </form> タグの間の任意の行に配置します。(複数可)
check属性には all_or_nothing を指定します、check属性には半角のカンマで区切った項目名を指定します。指定した複数の項目に全て入力があるか、全て入力がないかをチェックします。
入力をチェックする項目(上記の例では「aaa、bbb、ccc」)のオプションに(ch)は付けないでください。
<!--input nodisp="AAA=BBB" name_nch="aaa,bbb,ccc"--> =判断を伴って最終確認画面と自動返信メールに表示しない項目を指定したい時に指定します。
このオプションは <form タグ~ </form> タグの間の任意の行に配置します。(複数可)
ある項目が選ばれた値によっては最終確認画面と自動返信メールに表示したくない項目の一群がある場合に指定します。
nodisp属性には項目名(オプションの( )は省く)と項目名の値を半角の = または != で区切って指定します。
上記の場合は項目名 AAA の値が BBB の時に name 属性で指定した項目群を最終確認画面と自動返信メールに表示しません。
= を != にすると項目名 AAA の値が BBB に等しくない時にとなります。
= を : にすると項目名 AAA の値に BBB が含まれている時にとなります。
= を !: にすると項目名 AAA の値に BBB が含まれていない時にとなります。
name属性には条件が一致したときに最終確認画面と自動返信メールに表示したくない項目名を半角のカンマで区切って指定します(オプションの( )は省く)。
alr数字 =同じ数字で指定した項目のうちに同じ入力があればエラーにします。
番号は0から初めて下さい。
以下の例では第一位と第二位の選択項目が同じならエラーになります。
<select name="第一位(alr0)"><option value=aaa><option value=bbb></select>
<select name="第二位(alr0)"><option value=aaa><option value=bbb></select>
エラーメッセージ ----> 既に入力済みです
case= =hidden 値に case で指定した入力項目名の値と比較して結果をセット
<input type=hidden name="項目名" value="" case="項目名,値1,セット値1,値2,セット値2,値3,セット値3"> name="項目名" の hidden 値に case で指定した入力項目名の値と比較して結果をセットします。
このオプションは hidden 項目のみに指定でき case で指定した入力項目名よりも後に配置します。
【例】コース:<select name="コース(ch)"><option value="選択してください"><option value="1">1<option value="2">2<option value="3">3</select>
<input type=hidden name="料金(hidisp)" value="" case="コース,1,1000円,2,2000円,3,3000円">
上記の場合は例えばコースで 2 が選択された場合は料金の hidden 値(value=)に 2000円がセットされます。
値1,セット値1 は半角のカンマで区切り指定します。
この hidden 値 を確認画面に表示させる場合は hidisp オプションを指定してください。
項目名の指定はオプション(ch)等は外して指定します。
addX =同じ名前の項目にX(任意)で連結します。
この項目は name が同じ項目にXで指定した文字で連結されて表示されます。
Xは複数文字でも全角(漢字)でもOK
メールに送られるデータも連結されて送られます。
以下の例の場合 「予約希望日=2003/12/10」となります。
それぞれのNAMEは同じ名前にします。
<SELECT name="予約希望日(ch)">
<OPTION value="2003" SELECTED>2003
<OPTION value="2004">2004
</SELECT>年<SELECT NAME="予約希望日(add/)">
<OPTION value="1" SELECTED>1
<OPTION value="2">2
</SELECT>月<SELECT name="予約希望日(add/)">
<OPTION value="1" SELECTED>1
<OPTION value="1">2
frontX =この項目のデータの前にX(任意)で指定したキャラクターを挿入します。
Xは複数文字でも全角(漢字)でもOK
メールに送られるときも連結されて送られます。
以下の例の場合 予約希望日=20 03/12/10 このようになります(赤 字が挿入)。
それぞれのnameは同じ名前にします。
20 <select name="予約希望日(ch//front20)">
<option value="03">03
<option value="04">04
</select>年<select name="予約希望日(add/)">
<option value="1" selected>1
<option value="2">2
</select>月<select name="予約希望日(add/)">
<option value="1" selected>1
<option value="1">2
end? =この項目のデータの後にX(任意)で指定したキャラクターを挿入します。
Xは複数文字でも全角(漢字)でもOK
メールに送られるデータも連結されて送られます。
以下の例の場合 予約希望日=平成3年12月10日 このようになります(赤 字が挿入)。
それぞれのNAMEは同じ名前にします。
20 <select name="予約希望日(ch//front平成)">
<option value="3">3
<option value="4">4
</select>年<select name="予約希望日(add年)">
<option value="1" selected>1
<option value="2">2
</select>月<select name="予約希望日(add月//end日)">
<option value="1" selected>1
<option value="2">2
mail =メールアドレスのフォーマットをチェック
(簡易のチェックですので全てのタイプのメールアドレスを厳格にチェックできるわけではありません)
以下はメールアドレスは必須で、フォーマットチェック
<input type="text" SIZE="20" name="メールアドレス(mail//ch)">
エラーメッセージ ----> メールアドレスのフォーマットを確認してください
mailc =メールアドレスの再入力をチェック
メールアドレスの入力ミスを防ぐための再入力項目で前のメールアドレスと同じであるかチェックします。
<input type="text" SIZE="20" name="メールアドレス(mailc)">
エラーメッセージ ----> メールアドレスが一致しません
この場合の name は1回目の入力項目名と同じ名前にして下さい。
mailx =自動返信メールの送信先メールアドレス項目を指定します
メールアドレスを複数入力してもらう場合に自動返信メールをどの項目のアドレスに送るのかを明示します。
<input type="text" SIZE="20" name="メールアドレス2(mail//mailx)">
mailk =この入力欄で入力されたメールアドレスに管理者へ送られる同じメールが送られます
この入力欄で入力されたメールアドレスに管理者へ送られる同じメールが送られます。
<input type="checkbox" name="メールアドレス2(mailk)" value="mail@aaa.co.jp">
この入力値は保存データ、管理者、自動返信メールには反映しません。反映させるには mailK を指定します。
url =URLアドレスのフォーマットをチェック
(簡易のチェックですので全てのタイプのURLアドレスを厳格にチェックできるわけではありません)
以下はURLアドレスは必須で、フォーマットチェック
<input type="text" size="20" name="URLアドレス(url//ch)">
エラーメッセージ ----> URLが正しく入力されていません
rg4:1-5 =半角数字または半角英数字項目の入力桁数、範囲をチェックします(範囲が指定されると半角数字項目)
半角数字の入力では小数点、マイナス記号も入力できます( rg を Rg と指定すると半角数字のみの入力)、また全角は半角に変換されます。
rg3:1-50 入力は半角数字で桁数は3桁まで、範囲は1~50まで
rg3-5:1-50 入力は半角数字で桁数は3桁~5桁、範囲は1~50まで
rg3-3:1-50 入力は半角数字で桁数は3桁、範囲は1~50まで
rg3: 入力は半角数字で桁数は3桁まで
rg3-5: 入力は半角数字で桁数は3桁~5桁まで
rg3 入力は半角英数字で桁数は3桁まで(初期設定では半角英数字以外に-_が入力可)
rg3-5 入力は半角英数字で桁数は3桁~5桁まで(初期設定では半角英数字以外に-_が入力可)
Tips 範囲に # (本年)を含めて指定すると本年の数を相対で指定することができます。
#+9 は本年に9をプラスした数、#-9は本年に9をマイナスした数になります。
例:rg4-4:#-9-#+9 この例では入力値は4桁の半角数字で本年から3年先の年までが入力可能です。
以下は年齢は半角の数字で、最大3桁、10歳から120歳の入力がOKです
<input type="text" size="20" name="年齢(rg3:10-120)"> 歳
rgオプションの数字に関するエラーメッセージ一覧
rg3 桁数がオーバーしてします(>3)
rg3-3 桁数エラー(3桁入力してください)
rg3-5 桁数エラー(3~5桁で入力してください)
rg3:1-50 許容範囲外です (1~50)
半角数字で入力してください
crg2-5 =文字項目の入力桁数をチェックします
crg5-50 入力桁数は半角換算で5文字~50文字まで
crg10 入力文字数は半角換算で10文字まで
以下は住所は全角20文字まで入力可能
<input type="text" size="20" name="住所(crg40)">
crgオプションの文字に関するエラーメッセージ一覧
crg3-3 文字数エラー(半角換算で3文字入力してください)
crg3-10 文字数エラー(半角換算で3~5文字で入力してください)
crG2-5 =文字項目の入力文字数をチェックします(全角文字、半角文字も同様に1文字でカウントされます)
crG5-50 入力文字数は5文字~50文字まで
crG10 入力文字数は10文字まで
以下は住所は40文字まで入力可能
<input type="text" size="20" name="住所(crG40)">
crGオプションの文字に関するエラーメッセージ一覧
crG3-3 文字数エラー(3文字入力してください)
crG3-10 文字数エラー(3~5文字で入力してください)
tel? =電話番号、ファックス番号、携帯番号など半角数字、区切り文字 ? をチェック
?を省略すると - が区切り文字に設定されます。または数字のみの入力も可能になります。
?を9に設定すると数字のみの入力となります。
全角の数字、ー、-は半角に変換されます。
以下は電話番号は半角数字で区切り文字が- 000-000-0000 の形式でチェック
各パートの数字の桁数はチェックしませんが全体の数字の桁数は10桁もしくは11桁かチェックされます
<input type="text" size="20" name="電話番号(tel-)">
エラーメッセージ ----> 半角数字と区切り文字(-)で入力してください
(rgオプションの数字に関するエラーメッセージ一覧が適用されます)
zip? またはtno? =郵便番号を3桁+区切り文字+4桁、半角数字をチェック
?を省略すると - が区切り文字に設定されます。または数字のみの入力も可能になります。
?を9に設定すると数字のみの入力となります。
全角の数字、ー、-は半角に変換されます。
以下は郵便番号は半角数字で区切り文字が- 000-0000 の形式でチェック
<input type="text" size="20" name="郵便番号(zip-)">
エラーメッセージ ----> 郵便番号桁数を確認(3桁-4桁)してください
エラーメッセージ ----> 半角数字と区切り文字(-)で入力してください
(rgオプションの数字に関するエラーメッセージ一覧が適用されます)
No? =半角数字を区切り文字で2つに分けて入力、半角数字をチェック
?を省略すると - が区切り文字に設定されます。または数字のみの入力も可能になります。
?を9に設定すると数字のみの入力となります。
全角の数字、ー、-は半角に変換されます。
以下は番号コードを半角数字で区切り文字が- 0000-0000 の形式でチェック
<input type="text" size="20" name="番号コード(No-)">
エラーメッセージ ----> 半角数字と-で入力してください
(数字の桁数はチェックされません、rgオプションの数字に関するエラーメッセージ一覧が適用されます)
commaX =3桁ごとのカンマを入力後に挿入します。
X(任意)を指定するとカンマを挿入した後、値の後ろに指定文字が追加されます。
以下は 5555555 の入力が結果として 5,555,555円になります。送信されるデータは 5,555,555円です。
<input type="text" size="20" name="金額(comma円)">
commadX =3桁ごとのカンマを確認画面で挿入します。
X(任意)を指定するとカンマを挿入した後、値の後ろに指定文字が追加されます。
以下は 5555555 の入力が確認画面で 5,555,555円になります。送信されるデータは 5555555 です。
<input type="text" size="20" name="金額(commad円)">
br =入力値の改行を <br> に置き換えて保存します。
以下はメッセージの入力値の改行を <br> に置き換えて保存します。
<textarea name="メッセージ(br)" cols=60 rows=5></textarea>
blk =入力値がブランクの場合、確認画面で表示しません。
以下は住所の入力値がブランクの場合、確認画面で項目表示しません。住所項目データの送信されるデータはブランクです。
<input type="text" size="20" name="住所(blk)">
conti =最終確認画面で前の項目に改行せず続けて表示します。
表示のフォーマットは「マスター管理者メニュー」の「フォーマット設定」で編集できます。
例:<input type="text" size="20" name="住所(conti)">
copy =擬似会員処理で前回入力したデータをセットさせない項目に指定します
前回入力データをセットさせない項目に NOCP オプションを設定します。
例:<input type="text" name="住所(ch//NOCP)" size="50" value="">
blkd =入力値がブランクの場合、確認画面で表示せず、送信も行いません。
以下は住所の入力値がブランクの場合、確認画面で項目表示しません。住所項目データは送信されません。
<input type="text" size="20" name="住所(blkd)">
dateX =西暦年月日を4桁+区切り文字+2桁+区切り文字+2桁、半角数字をチェック
年月日を1つの入力欄で入力する場合に指定します。
X(任意)を省略すると / が区切り文字に設定されます。
月、日は1桁でも入力可能ですが、保存するときは0を埋めて2桁になります。
date を DATE と大文字で指定すると 0000年00月00日の漢字入力となります(数字は半角)。
全角の数字、ー、-、/は半角に変換されます。
以下は誕生日は半角数字で区切り文字が/ 0000/00/00 の形式でチェック
年は1900~2020の範囲、月は1~12、日は1~31でチェック
<input type="text" size="20" name="誕生日(date/)">
チェックする年の範囲を指定する場合は 範囲を半角の - で区切って指定します。(例:date/2000-2005)
Tips 範囲に # (本年)を含めて指定すると本年の数を相対で指定することができます。
#+9 は本年に9をプラスした数、#-9は本年に9をマイナスした数になります。
例:date/#+0-#+3 この例では入力値は4桁の半角数字で本年から3年先の年までが入力可能です。
エラーメッセージ ----> 年月日の数字の妥当性を確認してください
エラーメッセージ ----> 半角数字と-で入力してください
ltd_date =西暦年月日を4桁+区切り文字+2桁+区切り文字+2桁、半角数字をチェック
年月日を3つの入力欄で入力する場合に指定します。
3つ目のセレクトボックス(日入力欄)に指定します。
月、日は1桁でも入力可能ですが、保存するときは0を埋めて2桁になります。
date を DATE と大文字で指定すると 0000年00月00日の漢字入力となります(数字は半角)。
チェックする年月日の範囲を指定する場合は 範囲を半角の - で区切って指定します。(例:date5d-90d)
例の場合は本日から5日後から90日後以外が入力された場合はエラーとなります。
(例:date90d)範囲を1つしか指定しないと本日から90日後が範囲となります。
マイナスの数字を指定すると本日から以前の日を指定することができます。(例:date-5d-90d、5日前から90日後)
d の代わりに m を指定すると月後の末日までを指定できます。(例:date2m、本日から二ヶ月後の末日まで)
hira =全角ひらがなの入力項目
全角ひらがな以外の文字が入力されるとエラーメッセージ。
初期設定では全角ひらがな以外に全角スペース、ー、-が入力可能です。(設定ファイル formmail_set.pl で指定)
エラーメッセージ ----> 全角ひらがなで入力してください
kata =全角カタカナの入力項目
全角カタカナ以外の文字が入力されるとエラーメッセージ。
初期設定では全角カタカナ以外に全角スペース、ー、-が入力可能です。(設定ファイル formmail_set.pl で指定)
エラーメッセージ ----> 全角カタカナで入力してください
asc =半角の入力項目
半角以外の文字が入力されるとエラーメッセージ。
エラーメッセージ ----> カタカナ以外の半角で入力してください
zen =全角の入力項目
全角以外の文字が入力されるとエラーメッセージ。
エラーメッセージ ----> 全角で入力してください
h_kata =半角カタカナが含まれているとエラー表示
半角カタカナが含まれているとエラー表示。
エラーメッセージ ----> 半角カタカナが含まれています
only:X =入力テキストの中に指定したキャラクターX(任意)以外のキャラクターがないかチェックします
入力テキストの中に指定したキャラクターX(任意)以外のキャラクターがないかチェックします、許されるキャラクターを指定します。(複数指定ができます)
例:only:A-Za-z#(半角のアルファベット、#以外が含まれていたらエラーメッセージ)
範囲を指定する場合は-で結合します 数字は、0-9
エラーメッセージ ----> 許されない文字( X )が含まれています
dame:X =入力テキストの中に指定した許されないキャラクターX(任意)がないかチェックします
入力テキストの中に指定した許されないキャラクターがないかチェックします、許されないキャラクターを指定します。(複数指定ができます)
例:dame:|+(半角の |、+ が含まれていたらエラーメッセージ)
範囲を指定する場合は-で結合します 数字は、0-9
エラーメッセージ ----> 許されない文字( X )が含まれています
dameオプションーで指定せず全ての項目に対してチェックしたい場合は設定ファイル formmail_set.pl で指定します。
max? =複数選択項目の最大選択数Xを指定できます。
複数選択項目の最大選択数を指定できます。 <select 以外は name= を同じにします
(max3)
3つまで選択可能、3つ以上だとエラー
checkbox につける場合は最初の name に付けてください
以下の例は2つまで選択が可能です。セパレータは,
<select name="朝食おかず(max2//add,)" multiple>
<option value="海苔">海苔
<option value="たまご">たまご
<option value="納豆">納豆
<option value="漬け物">漬け物
<option value="焼き魚">焼き魚
</select>
たまご,漬け物 でデータが送られます。
エラーメッセージ ----> 3 個以上選択することはできません
name =項目が名前であることを明示
自動返信メールを送るとき差し込まれる名前がどの項目であるかを明示するために使用します。
<input type="text" size="12" name="氏名(ch//name)">
name項目が明示されない場合は項目名に名前、氏名が含まれる項目を名前とします。
このオプションが複数の項目に指定されている場合は最初の項目が名前項目とされます。
etc =自動返信メールの%etc%と差し替える項目を指定します
自動返信メールを送るときテンプレート内の%etc%に差し込まれます。
pass4-16 =パスワードに許されない文字が含まれていないかをチェックします
パスワードとして許される文字は設定プログラム formmail_set.pl で指定することができます。
初期値は 0-9A-Za-z-_ です。
また、桁数範囲を指定すると桁数をチェックします(この場合は4~16桁でチェック)。
エラーメッセージ ----> パスワードに不正な文字が含まれています
エラーメッセージ ----> 桁数エラー(4~16 桁で入力してください)
passr = pass と同じチェックを行うと同時に暗号化して送信します
暗号化されて送信されると管理者には元のパスワードが何であったかはわかりませんので注意して下さい。
暗号化は Perl のcrypt 関数を使って暗号化しています、パスワードを復元する場合は以下のスクリプトで復元できます。
チェックしたいパスワード $FORM{'pass'} は $pass の暗号化されたパスワードと一致しているかどうかを判定します。
if(not &pwd_match($FORM{'pass'},$pass)){&err("パスワードが違います!")}
#パスワード複元
sub pwd_match {
my($inpass,$cpass)=@_;
my($crptkey)=0;
if($cpass=~/^\$1\$/){$crptkey=3} # FreeBSDサーバ対応
return crypt($inpass, substr($cpass,$crptkey,2)) eq $cpass;
}
passc =パスワードを確認するための2回目の入力項目で指定し一回目のパスワード入力値と同じかチェックします
この場合の name は1回目の入力項目名と同じ名前にして下さい。
エラーメッセージ ----> パスワードが一致しません
dck =このオプションがついた項目で重複送信をチェック
エラーメッセージ ----> 連続して送信することはご遠慮願います(変更可)
#:XXXX =入力エラー画面で項目名を name="" 属性以外の項目名を表示させる
入力エラー画面で項目名を name="" 属性以外の項目名を表示させたい時に使用します。
同じ項目名に(add/)オプションを指定すると入力されたデータをまとめて入力データとすることができます。
しかし、この場合入力エラーで表示される項目名は同じものが表示されてしまいます。これを回避するためにこのオプションを指定します。
例:
<select name="予約希望年月日(ch//#:予約希望年)">
<option value="2003" selected>2003
<option value="2004">2004
</select>年<select name="予約希望年月日(ch//#:予約希望月//add/)">
<option value="1" selected>1
<option value="2">2
</select>月<select name="予約希望年月日(ch//#:予約希望日//add/)">
<option value="1" selected>1
<option value="1">2
cookie =この項目名の入力値をクッキーに保存させます
クッキーに保存された値は送信フォームを呼び出したときに value= にセットされます。
リピーターが送信フォームで何度も同じ入力をせずに予約することができます。
例:<input type=text name="住所(ch//cookie)">
クッキーを反映させて送信フォームに表示させるには formmail_display.cgi を以下のように呼び出すか、以下をリンク先に指定します。
http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%
http://www.xxxx.co.jp の部分とCGI呼び出しのパスはあなたのサーバーのURLに置き換えてください。
(引数)id: の後にフォームのIDを指定します。携帯電話用フォームは +i を続けて指定します。
id_chk =この項目名の入力値はIDとして既に登録済みかどうかをチェックします
この機能を利用するには初期設定で送信されたデータをサーバー上に保存する設定になっている必要があります。
例:<input type=text name="メールアドレス(ch//mail//id_chk)">
既に登録済みの場合のエラーメッセージは設定ファイル formmail_mes.pl の4行目あたりの設定で変更することができます。
$id_already='IDは既に登録されています';
mobile_id =この項目名に携帯電話のIDを自動取得しセットします
この項目名に携帯電話のIDを自動取得しセットします。
キャリアや機種によっては取得できない場合があります。また使用者がID送信を拒否設定している場合は取得できません。
例:<input type=hidden name="ID(mobile_id//id_chk)" value="">
通常は hidden 項目にセットします。この例の場合はIDが既に登録済みの場合は登録不可のエラーメッセージを表示します。
既に登録済みの場合のエラーメッセージは設定ファイル formmail_mes.pl の4行目あたりの設定で変更することができます。
$id_already='IDは既に登録されています';
オプションの mobile_id、id_chk、rg4-12 は自動で付加されます。
※ IDとパスワードを両方指定しているとIDとパスワードを入力する欄と入力フォームの2つが設定されます。IDとパスワードを入力して確認ボタンをクリックすると既に登録されていれば登録されたデータが入力欄に設定されます。
但し、「初期設定」で送信されたデータを保存する設定にしておく必要があります。また、送信フォームの表示は formmail_display.cgi を使って表示する必要があります。
fix =この項目名の入力値は変更処理で変更できません
この機能を利用するには初期設定で送信されたデータをサーバー上に保存する設定になっている必要があります。
このオプションは登録者が変更、削除を行う設定のフォームIDの送信フォームに設定できます。
例:<input type=text name="メールアドレス(ch//mail//id_chk//fix)">
登録者が変更処理を行う場合にこの項目は変更することができないようにします。
この設定ができる項目はインプットタイプが text,select,checkbox,radio に設定できます。また年月日を3つのセレクトボックスで入力しオプション add で繋いで保存されるような項目には設定できません。
edit =この項目は変更処理でIDとなります
この機能を利用するには初期設定で送信されたデータをサーバー上に保存する設定になっている必要があります。
このオプションは登録者が変更、削除を行う設定のフォームIDの送信フォームに設定できます。
例:<input type=text name="メールアドレス(ch//mail//edit)">
登録者が変更処理を行う場合にこの項目はIDとなります。メールアドレスのようにIDの中でダブリのないユニークな値の項目に指定します。
hidisp =このhidden項目名の入力値は確認画面に表示します(hidden項目のみに指定できます)
このhidden項目名の入力値は確認画面に表示します(hidden項目のみに指定できます)
hidden項目は指定がないと確認画面に表示されません、確認画面で表示し確認させたい場合に使用します。
hidden属性でデータ(value)を管理者に送りたい場合は name の最初の文字を _ 以外にします。
<input type="hidden" name="文房具 " value="pencil">
実際に送信された後はファイルに保存されます、また、自動返信メールや管理者へのメールにも表示されます。
但し、確認画面には表示されません。確認画面に表示させたい場合は hidisp オプションを使用します。
<input type="hidden" name="文房具(hidisp )" value="pencil">
hidden 項目の項目名を # で始めると特別な意味になります。
Tips hidden 項目の項目名を #_ で始めると実際に送信された後は無視されてファイルに保存されません、また、自動返信メールや管理者へのメールにも表示されません。java script の定数に使う場合などに有効です。
例:<input type="hidden" name="#_java用定数 " value="750">
Tips hidden 項目の項目名を # で始めると実際に送信された後は管理者へのメールに表示されファイルに保存されますが確認画面、自動返信メールには表示されません。
例:<input type="hidden" name="#ダミー " value="750">
hidden の項目名の付け方による動作の違いのまとめ
項目名 確認画面 データ保存 管理者宛メール 自動返信メール
項目名 ×(オプション hidisp で○) ○ ○ ○
#_項目名 × × × ×
#項目名 × ○ ○ ×
today =このhidden項目名の入力値には本日の日付をセットします(hidden項目のみに指定できます)
このhidden項目名の入力値には本日の日付をセットします(フォーマット:2008/05/01 hidden項目のみに指定できます)
today+5 のように本日からの +- 日数を指定することもできます。
minus =「初期設定」で送信可能数を設定した場合、減数する項目に設定します
送信可能数を設定した場合、通常はメールが送信されると送信可能数をマイナス 1 します。
フォームでこのオプションを設定すると送信可能数をこの入力項目の値でマイナスします。
例:申し込み人数=<input name="申し込み人数(ch//minus)" size="10">
送信フォームにアクセスした時点でエラーメッセージを表示させるには、 formmail_display.cgi を以下のように呼び出してください。
http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%chk
送信フォームへのリンクは次のように記述します。XXX の部分にはフォームIDを指定します。
例:<a href=/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+chk>送信フォームへ</a>
(CGI へのパス指定は環境により異なります、携帯電話用フォームは +i を続けて指定します。)
val =保存するテキストと表示するテキストを分けません
option(select)、checkbox、radio 項目で保存するテキストと表示(確認画面、自動返信メール、管理者へのメール)するテキストを変えることができます。
option(select)、checkbox、radio 項目のvalue値を半角の $ で保存するテキストと表示するテキストを区切って指定します。
例:<select name=xxx><option value="01$デジカメ">デジカメ<option value="02$液晶テレビ">液晶テレビ</select> この例では液晶テレビを選択した場合、保存されるデータは 02 ですが表示(確認画面、自動返信メール、管理者へのメール)される時は「液晶テレビ」となります。
保存されるデータをコード化して保存データ量を減らしたいが表示はわかりやすくしたい場合などに有効です。
※ 確認画面を表示させない設定をした場合は使えません。またこの機能を使う場合はvalue値に半角の $ を値として使えません。
半角の $ を使いたい場合やこの機能を使わない項目を明示したい場合は val オプションを指定します。
例:<select name=xxx(val)><option value="デジカメ">デジカメ<option value="液晶テレビ">液晶テレビ</select>
code =参照コード
「初期設定」で「個別送信設定ファイル」を指定した時に参照するコードを指定します。
個別送信設定ファイルのファイルフォーマットは以下のようになっています。(CSVまたはTSVファイル)
コード, 管理者メールアドレス, key番号=テキスト(又はオプション付項目名=テキスト), ~
code =参照コード で指定したコードと等しいデータ行で指定した管理者メールアドレスへデータが送信されます。
また、表示される送信フォームに埋め込んだ <!--key番号-->(又はオプション付項目名 例: name(ch) ) と指定したコードと等しいデータ行で指定した置換テキストに置き換えて表示されます。
個別送信設定ファイルの拡張子を .cgi とすることによりファイル内のメールアドレスを覗かれる可能性が低くなります。
Tips 送信フォーム利用者がコードを指定する例:例えば商品のカタログを請求させるフォームで選択項目で商品を選択させ select にcode オプションを指定します。
<selct name="商品コード(code)"><option value="101">商品A</option><option value="102">商品B</option></select>
個別送信設定ファイルを以下のように編集しておきます。
101, aaaa@xxxx.co.jp, key1=商品Aのカタログ請求
102, bbbb@xxxx.co.jp, key1=商品Bのカタログ請求
~
利用者が 102 の商品を選択した場合は管理者 bbbb@xxxx.co.jp へメールが送信されます。また送信フォームに埋め込んだ <!--key番号--> 又はオプション付項目名 例: name(ch) ) と指定したコードと等しいデータ行で指定した置換テキストに置き換えて表示されます。(送信フォーム静的に呼び出した場合は確認画面の表示のみ)
Tips 管理者が送信フォームを表示する時点でコードを指定する例:例えば商品Aのカタログを請求させるフォームへのリンクを送信フォーム表示プログラム formmail_display.cgi を指定して送信フォームを表示。
例:/cgi-bin/formmail_display.cgi?id:%ID%+%set%+code:101 (送信フォームのIDと code を引数で指定します)
unrec =この項目はサーバーへの保存をしません(ブランクで保存されます)
「初期設定」の「入力されたフォームのデータの処理を指定」でサーバーへの保存を設定していてもこの項目はブランクで保存します
個人を特定できる項目に指定しておくとセキュリティに配慮することができます。
管理者へのメール、自動返信メールには適用されません。
unsend =この項目は管理者宛メール配信リストに配信する時にブランクで送信します
「初期設定」の「管理者宛メールアドレス」でメールアドレスリストを設定していて場合にこの項目はブランクで送信します
個人を特定できる項目に指定しておくとメールアドレスリストのアドレスには伏せて送信することができます。
管理者へのメール、自動返信メールには適用されません。
ヘルプ表示スペースです。選択欄で見たいヘルプを選択するとヘルプが表示されます。
※ とりあえず送信のテストを行う場合は何も変更せずに「実行」ボタンを押してテストし後で編集して下さい。
追加で入力欄が足りない場合は2回に分けて追加して下さい。
※ 以下の入力欄のタイトルをクリックするとここにその入力欄の説明が表示されます。
並 順
「並順」を指定します。半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
ある項目と次の項目の間に項目を移動させたり新規に登録したい場合は並順を両方の数字の間に指定します。(例:2.0と3.0の間に挿入する場合は2.1~2.9の数字を指定)
並順に0は指定できません。
並順を指定しないとこの入力フォーム順に生成されます。
入力タイプ
「入力タイプ」を指定します、※マークが付いた標準タイプは項目名、項目名表記、初期値、選択値を省略することができます。
「入力タイプ」にブランクを選択するとその項目行は削除されます。
項目名
「項目名」を指定します。管理者へのメール、データをファイルに保存するときの項目名になります。
また、入力確認のときに項目名として表示されます。
「入力タイプ」に※のついている項目(例:※住所)は「項目名」を省力することができます。例の場合は省力すると[住所」が項目名になります。
項目名に半角の:,$/ は使えません、またその他の特殊文字なども使わない方がいいでしょう。
入力タイプが 区切り の場合は区切りバーのバックグラウンドカラーを指定します。
項目名表記
「項目名表記」を指定します。フォームHTMLで項目の入力欄の左側に表示されます。指定を省略すると「項目名」が採用されます。
半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
入力タイプが 区切り の場合は区切りバーに表示するテキストの文字色を指定します。
「上の項目に続けて右側に表示」欄がチェックされている時、項目名表記に半角の * を指定すると何も表示されません。また半角の # を指定すると改行後に項目名表記が表示されます。
上の項目に続けて右側に表示
上の項目に続けて右側に入力欄を表示したい場合にチェックを入れます。(上の項目がhidden項目の場合は機能しません)
この時、項目名表記に半角の * を指定すると何も表示されません、また項目名表記の先頭が半角の * だと以降のテキストを表示します。
項目名表記の先頭が半角の # だと以降のテキストが改行後に表示されます。
初期値
「初期値」を指定します。
入力タイプが input の場合は入力欄の初期値を指定します。
入力タイプが年月日の場合は年の初期値を指定します。#は本年を表し、+-を付けることに相対で指定できます。#+0本年、#+5は5年先、#-5は5年前の指定になります)
入力タイプが select,checkbox,radio の場合は初期選択値を指定します。
入力タイプが 区切り の場合は区切りバーに表示するテキストを指定します。(HTMLタグも記述できます)
例:入力タイプが「都道府県」「性別」の時に「初期値」に初期選択値を指定することができます。(例:男または女、大阪府)
入力タイプが「hidden」の場合は hidden でセットしたい値を指定します。
Tips 計算式を指定することにより他の入力項目の入力値を使って計算結果をセットさせることもできます。value値を {{計算式}} で指定します。(計算式は128バイトまで)
他の入力項目の入力値は半角の%%と%%で name="" の指定名を囲んで指定します。(この時() で指定したオプションは省いて指定します、数量(ch) は 数量 で指定)
他の入力項目の入力値が金額の場合は数字以外が含まれていても半角の数字の前に \ 、後に円が付いていれば計算可能です。また3桁ごとのカンマが付いていても可能です。
計算値には四則演算子 +-*/ と固定値、入力項目名(半角括弧で指定するオプションは省きます)などが使用できます。(例:{{%%数量%%*%%単価%%/10}} )
perl の関数等も使えます。(例:{{%%数量%% eq '1' ? %%数量%%*%%単価%%/0.7:%%数量%%*%%単価%%}} )
ただし、入力項目の入力値、式の中に次の英文字を含めることはできません。(sys,re,kill,dir,del,link,for,whi,go,fcn,eva,ex,con,wai,ope,do,& で始まる英文字)
選択値
「選択値」を指定します。
入力タイプが年月日の場合は年を選択させる時に年の範囲を半角の - で区切って指定することができます。
1950-2000 の様に直接年を指定する他以下の様に # で本年からの相対の年を指定することもできます。
2003-#+3 2003年~本年から3年先まで(本年その年を指定する場合は #+0)
年の範囲の指定はフォームを作成した時点の選択肢のことであり、フォームを表示させたときに年が自動的に変化するわけではありません。
年が変わったときはフォームを再ジェネレート(生成)する必要があります。
入力タイプが select,checkbox,radio の場合は 選択値1,選択値2,選択値3 のように選択値を半角のカンマで区切って指定して下さい。
select の場合は <option value="xxx">yyyyy</option> のvalue値xxxが選択値、yyyが対応する表示テキストになります。
checkbox は1つのcheckboxの場合は1つ指定しますが半角のカンマで区切って復数指定した場合は復数の選択が可能で、送信されるデータは「初期設定」の「13.複数選択項目のデータセパレーター」で指定したセパレータで区切られて送られます。
指定例(select):例えば職業を選択させたい場合は「,会社員,公務員,自営,その他」 などと指定します。
この場合は「」「会社員」「公務員」「自営」「その他」から選択できます。
選択値が連続した数値の場合は半角の数字を - で区切って範囲を指定することができます。(例:0-15 )
選択にブランク <option value=""></option> を最初にセットしたい場合は最初に b を指定します。(例:b1-15 )
0 の表示をブランクにしたい場合は 0-15 ではなく -15 と指定します。
入力タイプが「年月日(Popup対応)」の場合は【選択値】と【選択値に対する表示テキスト】に選択できる日の範囲を指定することができます。(例:2007/01/05~2007/02/10【選択値】に 2007/01/05【選択値に対する表示テキスト】に 2007/02/10 を指定します)
入力タイプが「都道府県」の場合で選択値を01~48のコードにしたい場合は Code を指定します。
選択値をコード+都道府県名にしたい場合は code を指定します。都道府県コードは以下の通りです。
'01北海道','02青森県','03岩手県','04宮城県','05秋田県','06山形県','07福島県','08茨城県','09栃木県','10群馬県','11埼玉県','12千葉県','13東京都','14神奈川県','15新潟県','16富山県','17石川県','18福井県','19山梨県','20長野県','21岐阜県','22静岡県','23知県','24三重県','25滋賀県','26京都府','27大阪府','28兵庫県','29奈良県','30和歌山県','31鳥取県','32島根県','33岡山県','34広島県','35山口県','36徳島県','37香川県','38愛媛県','39高知県','40福岡県','41佐賀県','42長崎県','43熊本県','44大分県','45宮崎県','46鹿児島県','47沖縄県','48その他'
選択値に対する表示テキスト
「選択値に対応する表示テキスト」を指定します。
select の場合は <option value="xxx">yyyyy</option> のvalue値xxxが選択値、yyyが対応する表示テキストになります。
入力タイプが select,checkbox,radio の場合に選択地に対応する表示テキストを半角のカンマで区切って指定して下さい。(例:「,会社員,公務員,自営,その他」)
選択値を「,1,2,3,4」と指定するいると表示は日本語で送信されるデータは数字となります。
選択値と表示テキストが同じ場合は表示テキストを省略することができます。選択値と同じ値が表示されます。
入力タイプが「年月日(Popup対応)」の場合は【選択値】と【選択値に対する表示テキスト】に選択できる日の範囲を指定することができます。(例:2007/01/05~2007/02/10【選択値】に 2007/01/05【選択値に対する表示テキスト】に 2007/02/10 を指定します)
必 須
「必須」を指定します。チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
タイプが区切りの場合はチェックを入れると表示テキストが太字から細字になります。
桁 数
「桁数」を指定します。タイプが input の場合は入力欄のサイズを指定します、上記で指定した入力標準桁数を超えて指定すると <textarea> になります。
入力標準桁数に関係なく<textarea>に設定するには桁数を colsx rows で指定します(例: 70x3 cols="70" rows="3" の<textarea>を設定します)。
実際には colsX7.5、rowsX20 の値がスタイルシートの width と height として指定されます。
厳密にスタイルシートの width と height の値を指定したい場合は、200X 50 の様に大文字の X を使って指定します。
タイプが radio,checkbox の場合は横に並べる選択肢の最大数を前に=を付けて指定します。(例:=5)
単に数字だけを指定すると横に表示する文字数(半角換算)の最大値となります。(何も指定しないと80が採用されます)
タイプが、※電話番号、※携帯電話番号、※ファックス番号の場合は p3 を指定すると3つの入力エリアになります。
p3 の後にセパレータのキャラクターを指定することができます。(例 p3- と指定 000-0000-0000)
入力エリアは複数になりますが電話番号の1つのフィールド(000セパレータ0000セパレータ0000)としてデータは保存されます。
タイプが、※電話番号、※携帯電話番号、※ファックス番号の場合は p2 も指定できます。
タイプが、※郵便番号の場合は p2 を指定すると2つの入力エリアになります。
p2 の後にセパレータのキャラクターを指定することができます。(例 p2- と指定 000-0000)
セパレータを指定しないと郵便番号1と郵便番号2の2つのフィールドとしてデータは保存されますがセパレータを指定と郵便番号の1つのフィールド(000セパレータ0000)としてデータは保存されます。
タイプが区切りの場合、中央に表示される表示テキストを右または左に変更したいときはは right または left を指定します。
オプション
「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
複数のオプションを指定するときは半角の // で続けます。(例:comma//rg4:1-5)
hidden 項目の場合ここで table を指定すると入力フォームにテーブルの行として表示されます。入力欄は空欄です。
※スマートフォン用フォームの作成時、ラジオボタン、チェックボックスを横に配置する場合は yoko 縦に配置する場合は tate を指定します。指定しない場合は縦に配置されます。また選択肢が2つまでで無指定は横に配置されます。
コメント
「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
携帯用フォームに表示させる場合は半角の;で区切って指定します。(例:PC用コメント;携帯用コメント)
hidden 項目の場合はここに case の条件が指定できます。
例:赤太文字の部分をここに指定します。 case="コース,1,1000円,2,2000円,3,3000円 "
<input type=hidden name="項目名" value="" case="項目名,値1,セット値1,値2,セット値2,値3,セット値3"> name="項目名" の hidden 値に case で指定した入力項目名の値と比較して結果をセットします。
コメントの中に onclick="~" 、 onchange="~" 、 id="~" 、 class="~" を配置するとその部分はコメントから除外され入力項目の入力タグに組み込まれます。
例:注意書き onclick="aaaaaaaa" class="bbb" コメントには「注意書き」が表示され、入力タグは以下の様になります。
<input type="text" name="入力" size="10" value="" onclick="aaaaaaaa" class="bbb" />
入力タグは type="text"、type="checkbox"、type="radio"、<select name=~(年月日のように複数のselect項目は除く)に適用されます。
onclick="~" 、 onchange="~" 、 id="~" 、 class="~" をコメントとして活かしたい場合は onClick="~" 、 onChange="~" 、 ID="~" 、 CLASS="~" のように大文字を使います。
画像
PC内の画像を指定するとこの入力項目の入力欄の下に指定した画像を表示します。
コメントがある場合はコメントの下に指定した画像を表示します。(コメントを入力欄の下に表示したい場合は コメントの前に <br> を記述します)
カスタムHTMLの記述ルール(サンプルを参考に)
フォームHTMLファイルの漢字コードを明確にできるよう metaタグを記述してください。 <meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスは確認用HTMLファイルが存在するディレクトリからの相対パスで記述すればドキュメントルート / からのパスに自動補正します。
自動補正を行いたくない場合は設定プログラムファイル formmail_set.pl の $auto_sw=1; を $auto_sw=0; に変更してください。
HTMLの記述の仕方やスクリプトを含む特殊なタグを使っているとうまく補正できない場合があります。
その場合は、以下の方法で回避してください。
CGIプログラムが存在する実行パスからの相対パスか、ドキュメントルート / から記述して下さい。
もしも相対パス、ドキュメントルート / からのパスがわからない時は http:// から始まる絶対パスで記述してください。
【推奨】確認用HTMLファイルの<head>~</head>の間に<base href="">を記述してリンクの基準となるURLを指定します。
例えば、<base href="http://www.xxx.co.jp/test/">と指定するとこの確認用HTMLファイルに書かれている相対パスはhttp://www.xxx.co.jp/test/を基準として参照されます。
HTMLソースに同一ページ内へのリンクが記述されている場合はうまくリンクできませんので注意して下さい。
カスタムHTMLファイル内で使用できる置換、特殊タグ 項目名はオプションを省いたものを使います。例:お名前(ch) -->お名前
<!--xxx {項目名}B yyy--> 項目名の入力値に置き換わります。(Bを付けると入力値がブランクの場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です)
<!--xxx E{項目名}B yyy--> 入力値にエラーがあった場合にエラー内容に置き換わります。(エラー用に使用します。Bを付けるとエラーが無かった場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です)
<!--xxx {項目名}C yyy--> 項目名の入力値を3桁ごとのカンマを挿入しに置き換わります。(入力値がブランクの場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です)
<!--xxx {項目名}c yyy--> 項目名の入力値を3桁ごとのカンマを挿入しに置き換わります。
以上のタグで xxx を指定すると xxx が前に表示され、yyy を指定すると yyy が後ろに表示されます。
<!--print_button--> 初期設定で確認画面を「印刷」に設定した時に、印刷ボタンに置き換わります。
<!--start--> 確認画面を送信しないときに<form method=post value=""> ~の代わりに記述します。
確認用の例:
<html>
<head><title>確認画面</title></head>
<body bgcolor=#FFFFFF>
<form method=post value="">
<center><table border=1 cellpadding=2 cellspacing=0 style="font-size:13px"><tr bgcolor=#FFFFCE><th>項目名</th><th>入力(選択)内容</th></tr>
<tr><td bgcolor=#FFFFCE>お名前</td><td><!--{お名前}B--></td></tr>
<tr><td bgcolor=#FFFFCE>ご住所</td><td><!--{ご住所}B--></td></tr>
<tr><td bgcolor=#FFFFCE>メールアドレス</td><td><!--{メールアドレス}B--></td></tr>
</table>
<br><!--print_button--> <input type=button name=#_send value="送信">
</form></body></html>
エラー用の例:
<html>
<head><title>エラー画面</title></head>
<body bgcolor=#FFFFFF>
<form method=post value="">
<center><table border=1 cellpadding=2 cellspacing=0 style="font-size:13px"><tr bgcolor=#FFFFCE><th>項目名</th><th>入力(選択)内容</th><th>エラー内容</th></tr>
<tr><td bgcolor=#FFFFCE>お名前</td><td><!--{お名前}B--></td><td><!--E{お名前}B--></td></tr>
<tr><td bgcolor=#FFFFCE>ご住所</td><td><!--{ご住所}B--></td><td><!--E{ご住所}B--></td></tr>
<tr><td bgcolor=#FFFFCE>メールアドレス</td><td><!--{メールアドレス}B--></td><td><!--E{メールアドレス}B--></td></tr>
</table>
<br><input type=button name=#_can value="入力画面に戻る" onClick="javascript:history.go(-1)">
</form></body></html>
テキストエディターで独自に作成されたカスタムHTMLファイルは使用するフォームディレクトリの下の _checkhtml ディレクトリにアップロードして下さい。
テンプレートには以下のタグが配置できそれぞれの項目が置換して挿入されます。
タグを使用しない場合は自由に記述する事ができます。
テンプレートHTMLファイルの漢字コードを明確にできるよう metaタグを記述してください。
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
タグ 置換される項目
<!--title--> フォームタイトル
<!--tbg_color--> タイトルバーのバックグラウンドカラー
<!--top_comment--> トップの説明文
<!--form--> 指定した入力項目が表形式で繰り返して挿入されます
<!--bottom_comment--> ボトムの説明文
<!--button--> 送信ボタンのvalue値
<!--reset--> リセットボタンのvalue値
<!--er_form--> 入力エラーの表示位置
テンプレートには以下のタグが配置できそれぞれの項目が置換して挿入されます。
タグを使用しない場合は自由に記述する事ができます。
タグ 置換される項目
#cgi submit で実行されるCGI名
#id1 フォームIDコード1
#id2 フォームIDコード2
#kjc ソースの漢字コード
テンプレートには以下のタグが配置できそれぞれの項目が置換して挿入されます。
タグ 置換される項目
<!--uyear--> 集計年
<!--umonth--> 集計月
<!--udate--> 集計日
<!--uhour--> 集計時
<!--uminute--> 集計分
<!--cnt--> 集計したデータ件数
<!--form_id--> 集計対象のフォームID
<!--fromto--> 指定した集計対象の範囲
<!--start--> 集計結果の表
入力タイプ
「入力タイプ」を指定します、※マークが付いた標準タイプは項目名、項目名表記、初期値、選択値を省略することができます。
「入力タイプ」にブランクを選択するとその項目行は削除されます。
input
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】日本語変換モードでテキスト入力は「input/IME=あ」を、英数入力モードのテキスト入力は「input/IME=A」を選択します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【初期値】入力欄の初期値を指定します。
【桁数】タイプが input の場合は入力欄のサイズを指定します、上記で指定した入力標準桁数を超えて指定すると <textarea> になります。
入力標準桁数に関係なく <textarea> に設定するには桁数を colsxrows で指定します(例: 70x3 70文字で3行の <textarea> に設定します)。
入力エリアの大きさを厳密にピクセル数で指定する場合は大文字のXで区切ってcolsXrowsで指定します。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
select、radio、checkbox
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「select、radio、checkbox」のいずれかを選択します。select で複数選択を可能にする場合は「select(複数選択)」を選択します。
「select(複数選択)」では【桁数】の欄に表示桁数(px)を指定することができます。省略すると70となります。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【初期値】初期選択値を指定することができます。
例:入力タイプが「都道府県」「性別」の時に「初期値」に初期選択値を指定することができます。(例:男、女、大阪府)
【選択値】 選択値1,選択値2,選択値3 のように選択値を半角のカンマで区切って指定して下さい。
select の場合は <option value="xxx">yyyyy</option> のvalue値xxxが選択値、yyyが対応する表示テキストになります。
checkbox は1つのcheckboxの場合は1つ指定しますが半角のカンマで区切って復数指定した場合は復数の選択が可能で、送信されるデータは「初期設定」の「13.複数選択項目のデータセパレーター」で指定したセパレータで区切られて送られます。
指定例(select):例えば職業を選択させたい場合は「,会社員,公務員,自営,その他」 などと指定します。
この場合は「」「会社員」「公務員」「自営」「その他」から選択できます。
選択値が連続した数値の場合は半角の数字を - で区切って範囲を指定することができます。(例:0-15 )
選択にブランク <option value=""></option> を最初にセットしたい場合は最初に b を指定します。(例:b1-15 )
0 の表示をブランクにしたい場合は 0-15 ではなく -15 と指定します。
【選択値に対応する表示テキスト】を指定します。
select の場合は <option value="xxx">yyyyy</option> のvalue値xxxが選択値、yyyが対応する表示テキストになります。
選択値に対応する表示テキストを半角のカンマで区切って指定して下さい。(例:「,会社員,公務員,自営,その他」)
選択値と表示テキストは必ず同じ数になるよう対応させて下さい。
選択値を「,1,2,3,4」と指定していると表示は日本語で送信されるデータは数字となります。
選択値と表示テキストが同じ場合は表示テキストを省略することができます。選択値と同じ値が表示されます。
【桁数】入力タイプが radio、checkbox で選択肢が多い場合は約80文字(半角)で改行が行われます。桁数に半角数字を指定すると文字数を変更することができます。
「入力タイプがselect(複数選択)」では表示桁数(px)を指定することができます。省略すると70となります。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
※スマートフォン用フォームの作成時、ラジオボタン、チェックボックスを横に配置する場合は yoko 縦に配置する場合は tate を指定します。指定しない場合は縦に配置されます。また選択肢が2つまでで無指定は横に配置されます。
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
西暦年月日(3段階選択)、和暦年月日(4段階選択)、西暦年月(2段階選択)、和暦年月(3段階選択)
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「西暦年月日(3段階選択)」または、「和暦年月日(4段階選択)」「西暦年月(2段階選択)」「和暦年月(3段階選択)」を選択します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【項目名表記】項目の入力欄の左側に表示されます。指定を省略すると「項目名」が採用されます。
半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【初期値】年の初期値を指定します。西暦年月日の場合は#は本年を表し、+-を付けることに相対で指定できます。#+0本年、#+5は5年先、#-5は5年前の指定になります)
【選択値】年を選択させる時に年の範囲を半角の - で区切って指定することができます。
1950-2000 の様に直接年を指定します。西暦年月日の場合は以下の様に # で本年からの相対の年を指定することもできます。
#+0-#+3 本年~3年先まで(本年その年を指定する場合は #+0)
年の範囲の指定はフォームを作成した時点の選択肢のことであり、フォームを表示させたときに年が自動的に変化するわけではありません。
年が変わったときはフォームを再生成する必要があります。
※ 西暦年月日の場合は【選択値】に年の入力範囲を指定しないと年の入力は select ではなく input type="text" の入力になります。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
西暦生年月日、和暦生年月日
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「※西暦生年月日」「※和暦生年月日」を選択します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【項目名表記】項目の入力欄の左側に表示されます。指定を省略すると「項目名」が採用されます。
半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【初期値】年の初期値を指定します。西暦年月日の場合は#は本年を表し、+-を付けることに相対で指定できます。#+0本年、#+5は5年先、#-5は5年前の指定になります。
【選択値】年を選択させる時に年の範囲を半角の - で区切って指定することができます。
1950-2000 の様に直接年を指定します。西暦年月日の場合は以下の様に # で本年からの相対の年を指定することもできます。
#+0-#+3 本年~3年先まで(本年その年を指定する場合は #+0)
年の範囲の指定はフォームを作成した時点の選択肢のことであり、フォームを表示させたときに年が自動的に変化するわけではありません。
年が変わったときはフォームを再生成する必要があります。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【桁数】和暦生年月日の場合は選択できる年号を半角の/で区切って指定することができます。(例:平成/昭和)
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
年月日(type=input)
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「年月日(type=input)」を選択します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【項目名表記】項目の入力欄の左側に表示されます。指定を省略すると「項目名」が採用されます。
半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【初期値】入力タイプが年月日の場合は年の初期値を指定します。#は本年を表し、+-を付けることに相対で指定できます。#+0本年、#+5は5年先、#-5は5年前の指定になります)
【選択値】指定なし
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
月日、時分
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「月日」または「時分」を選択します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【項目名表記】項目の入力欄の左側に表示されます。指定を省略すると「項目名」が採用されます。
半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【選択値】月、時の選択範囲を指定することができます(例:8-20)指定なしは月は1-12、時は0-23になります。
【選択値に対応する表示テキスト】分の刻みを指定することができます(例:5 5分毎の刻みになります、指定なしは1-59)
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
hidden
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「hidden」を選択します。
【項目名】hidden属性でデータ(value)を管理者に送りたい場合は name の最初の文字を _ 以外にします。
<input type="hidden" name="文房具 " value="pencil ">
実際に送信された後はファイルに保存されます、また、自動返信メールや管理者へのメールにも表示されます。
但し、確認画面には表示されません。確認画面に表示させたい場合は hidisp オプションを使用します。
<input type="hidden" name="文房具(hidisp) " value="pencil ">
hidden 項目の項目名を # で始めると特別な意味になります。
Tips hidden 項目の項目名を #_ で始めると実際に送信された後は無視されてファイルに保存されません、また、自動返信メールや管理者へのメールにも表示されません。java script の定数に使う場合などに有効です。
例:<input type="hidden" name="#_java用定数" value="750">
Tips hidden 項目の項目名を # で始めると実際に送信された後は管理者へのメールに表示されファイルに保存されますが確認画面、自動返信メールには表示されません。
例:<input type="hidden" name="#ダミー" value="750">
hidden の項目名の付け方による動作の違いのまとめ
項目名 確認画面 データ保存 管理者宛メール 自動返信メール
項目名 ×(オプション hidisp で○) ○ ○ ○
#_項目名 × × × ×
#項目名 × ○ ○ ×
【初期値、選択値】hidden で送られるvalue="" 値を指定します。
【オプション】table を指定すると入力フォームにテーブルの行として表示されます。入力欄は空欄です。
【コメント】ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
case の条件が指定できます。 例:赤太文字の部分をここに指定します。
case="コース,1,1000円,2,2000円,3,3000円 "
<input type=hidden name="項目名" value="" case="項目名,値1,セット値1,値2,セット値2,値3,セット値3"> name="項目名" の hidden 値に case で指定した入力項目名の値と比較して結果をセットします。
※定型入力項目
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】入力タイプの前に※がついた「※定型入力項目」を選択します。
【項目名】【項目名表記】特に指定がないと標準の名称が採用されます。
【項目名表記】に半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【初期値、選択値】入力欄の初期値を指定します。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【桁数】タイプが、※電話番号、※携帯電話番号、※ファックス番号の場合は p3 を指定すると3つの入力エリアになります。 p2 は2つの入力エリアになります。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
※郵便番号
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「※郵便番号」を選択します。
【項目名】【項目名表記】特に指定がないと標準の名称が採用されます。
【項目名表記】に半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【桁数】 p2 を指定すると2つの入力エリアになります。
p2 の後にセパレータのキャラクターを指定することができます。(例 p2- と指定 000-0000)
セパレータを指定しないと郵便番号1と郵便番号2の2つのフィールドとしてデータは保存されますがセパレータを指定すると郵便番号の1つのフィールド(000セパレータ0000)としてデータは保存されます。
郵便番号検索 ajaxzip3 を組み込む
固定入力タイプの郵便番号と都道府県、住所を指定して設定すると郵便番号検索 ajaxzip3 が自動的に組み込まれます。手動でフォームを作成するときは以下を参考にしてコーディングして下さい。
尚、都道府県を省いて指定すると都道府県名は住所に挿入されます。スマートフォンを使う場合は都道府県はうまく選択状態になりませんので都道府県を省いて設定するようにして下さい。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。
郵便番号は半角の - で区切って入力しますが数字のみで入力させたい場合は オプション指定の最後に ! を追加します。(例:ch!、! )
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
※都道府県
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「※都道府県」を選択します。
【項目名】【項目名表記】特に指定がないと標準の名称が採用されます。
【項目名表記】に半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【選択値】 スマホの都道府県で select の選択にせず text 入力欄にしたいときは text を指定します。(スマホの ajaxzip3 で郵便番号を入力した時に都道府県が選択状態にならない場合に使用します、Code指定と併用する場合は | で区切ります)
選択値を01~48のコードにしたい場合は Code を指定します。
選択値をコード+都道府県名にしたい場合は code を指定します。都道府県コードは以下の通りです。
'01北海道','02青森県','03岩手県','04宮城県','05秋田県','06山形県','07福島県','08茨城県','09栃木県','10群馬県','11埼玉県','12千葉県','13東京都','14神奈川県','15新潟県','16富山県','17石川県','18福井県','19山梨県','20長野県','21岐阜県','22静岡県','23知県','24三重県','25滋賀県','26京都府','27大阪府','28兵庫県','29奈良県','30和歌山県','31鳥取県','32島根県','33岡山県','34広島県','35山口県','36徳島県','37香川県','38愛媛県','39高知県','40福岡県','41佐賀県','42長崎県','43熊本県','44大分県','45宮崎県','46鹿児島県','47沖縄県','48その他'
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
※電話番号、※携帯電話番号、※ファックス番号
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】※電話番号、※携帯電話番号、※ファックス番号を選択します。
【項目名】【項目名表記】特に指定がないと標準の名称が採用されます。
【項目名表記】に半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【桁数】 p3 を指定すると3つの入力エリアになります。 p2 は2つの入力エリアになります。
p3、p2 の後にセパレータのキャラクターを指定することができます。(例 p3- と指定 0000-000-000)
入力エリアは複数になりますが電話番号の1つのフィールド(000セパレータ0000セパレータ0000)としてデータは保存されます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。
通常、電話番号は半角の - で区切って入力しますが数字のみで入力させたい場合は オプション指定の最後に ! を追加します。(例:ch!、! )
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
年月日(PopUp)
JKL.Calendar を簡単に組み込めます。年月日入力欄をクリックするとカレンダーがポップアップ表示され希望の日を選択することができます。
年月日入力のポップアップカレンダーは1つのフォームに2つまで使用可能です。
JKL.Calendar を使用する場合は、 jkl-calendar.js は「初期設定」処理の 「39.Ajaxzip2、jkl-calendar 等 javascript の存在場所」で指定したディレクトリの下にインストールしておきます。(標準ではインストールされているはずです)
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】年月日(PopUp)を選択します。
【項目名】【項目名表記】名称を指定します。
【項目名表記】に半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【初期値、選択値】選択できる日の範囲を指定することができます。半角の , で区切って指定します。(例:2014/01/05,2014/02/10)
当日からの日数で指定することも可能です。(例:0,100、0 のみを指定すると当日以降全て)
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
区切り
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「区切り」を選択します。
【項目名】区切りバーのバックグラウンドカラーを指定します。
【項目名表記】区切りバーに表示するテキストの文字色を指定します。
【初期値】区切りバーに表示するテキストを指定します。(HTMLタグも記述できます)
【必須】チェックを入れると表示テキストが太字から細字になります。
【桁数】中央に表示される表示テキストを右または左に変更したいときは right または left を指定します。
送信フォームの分割
入力項目が多い場合など、フォームを複数頁に分割して送信することができます。
「フォーム分割」以降の項目は次の頁となります。最初の頁の保存名が form.html なら次の頁からは form2.html、form3.html~のファイル名で生成されます。
項目入力欄が足らなくなったら一度、保存して生成して終了し再度編集すると項目入力欄が追加されます。
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「フォーム分割」を選択します。
【コメント】送信ボタンに表示するテキストを指定することができます。指定がないと「次の入力へ」が表示されます。
ID(携帯は自動取得)
IDを入力(携帯電話のIDは自動取得)します。携帯用フォームでは hidden で設定されます。
キャリアや機種によっては取得できない場合があります。また使用者がID送信を拒否設定している場合は取得できません。
例:<input type=hidden name="ID(mobile_id//id_chk)" value="">
通常は hidden 項目にセットします。この例の場合はIDが既に登録済みの場合は登録不可のエラーメッセージを表示します。
既に登録済みの場合のエラーメッセージは設定ファイル formmail_mes.pl の4行目あたりの設定で変更することができます。
$id_already='IDは既に登録されています';
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「ID(携帯は自動取得)」を選択します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【初期値】入力欄の初期値を指定します。
【桁数】タイプが input の場合は入力欄のサイズを指定します、上記で指定した入力標準桁数を超えて指定すると <textarea> になります。
入力標準桁数に関係なく <textarea> に設定するには桁数を colsxrows で指定します(例: 70x3 70文字で3行の <textarea> に設定します)。
入力エリアの大きさを厳密にピクセル数で指定する場合は大文字のXで区切ってcolsXrowsで指定します。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
携帯用オプションの mobile_idとid_chk、rg4-12 は自動で付加されますが id_chk は必要ならオプション欄に記述してください。
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
※ IDとパスワードを両方指定しているとIDとパスワードを入力する欄と入力フォームの2つが設定されます。IDとパスワードを入力して確認ボタンをクリックすると既に登録されていれば登録されたデータが入力欄に設定されます。
但し、「初期設定」で送信されたデータを保存する設定にしておく必要があります。また、送信フォームの表示は formmail_display.cgi を使って表示する必要があります。
メールアドレス、メールアドレス再入力、メールアドレス(ID)
メールアドレスを入力します。
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「メールアドレス」「メールアドレス再入力」「メールアドレス(ID)」を選択します。
メールアドレスを入力します。メールアドレスのフォーマットの妥当性がチェックされます。
■「メールアドレス」「メールアドレス再入力」
メールアドレス例:<input type=hidden name="メールアドレス(mail//ch)" value="">
パスワード再入力例:<input type=hidden name="メールアドレス(mailc)" value="">
「メールアドレス」「メールアドレス再入力」の項目名は同じ名前で指定します。
メールアドレスを@で分けて2つの入力欄で入力させる場合は【桁数】欄に@を指定します。入力欄のサイズは@の左右で指定できます。
メールアドレス例:<input type=hidden name="メールアドレス(mail//ch)" value="">
パスワード再入力例:<input type=hidden name="メールアドレス(mailc)" value="">@<input type=hidden name="メールアドレス(mailc)" value="">
■「メールアドレス(ID)」
会員のIDとパスワードで個人データを呼び出すフォームの場合や過去の登録データに登録が有るか無いかをチェックしたいフォームで利用します。
メールアドレス(ID)入力例:<input type=hidden name="メールアドレス(mail//id_chk)" value="">
メールアドレス(ID)入力例:<input type=hidden name="メールアドレス(mail//id_chk_x)" value="">
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【項目名表記】半角のカンマで区切って指定すると左側のテキストはテーブルの左側のセル(項目名表記)に右側のテキストは右側のセル(入力欄)に分けて表示します。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【初期値】入力欄の初期値を指定します。
【桁数】入力欄のサイズを指定します。メールアドレスを@で分けて2つの入力欄で入力させる場合は【桁数】欄に@を指定します。入力欄のサイズは@の左右で指定できます。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
※ 「メールアドレス(ID)」と「パスワード(会員確認)」の両方を指定しているとIDとパスワードを入力する欄が入力フォームの上部に設定されます。IDとパスワードを入力して呼出ボタンをクリックすると既に登録されていれば登録されたデータが入力欄に設定されます。
但し、「初期設定」で送信されたデータを保存する設定にしておく必要があります。また、送信フォームの表示は formmail_display.cgi を使って表示する必要があります。
パスワード、パスワード再入力、パスワード会員確認
パスワードを入力します。
パスワード例:<input type=hidden name="パスワード(pass//rg4-12)" value="">
パスワード再入力例:<input type=hidden name="パスワード(passc//rg4-12)" value="">
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「パスワード」「パスワード再入力」「パスワード会員確認」を選択します。
「パスワード会員確認」は会員のIDとパスワードで個人データを呼び出すフォームの場合のパスワード入力項目で選択し、「メールアドレス(ID)」と対で利用します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【初期値】入力欄の初期値を指定します。
【桁数】入力欄のサイズを指定します。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【オプション】「オプション」を指定します。オプションは「オプション一覧」で説明されているオプションを指定します。
オプションは半角の ( ) で囲む必要はありません。(例:rg4:1-5)
携帯用オプションの pass、passc、rg6-12 は自動で付加されます。
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
※ 「メールアドレス(ID)」と「パスワード(会員確認)」の両方を指定しているとIDとパスワードを入力する欄が入力フォームの上部に設定されます。IDとパスワードを入力して呼出ボタンをクリックすると既に登録されていれば登録されたデータが入力欄に設定されます。
但し、「初期設定」で送信されたデータを保存する設定にしておく必要があります。また、送信フォームの表示は formmail_display.cgi を使って表示する必要があります。
file
添付ファイル版にのみ有効です。添付するファイルをパソコンから参照します。
添付ファイル版でも携帯用フォームでは使えません。
【並順】3桁の半角数字で指定して下さい、実際にフォームHTMLファイルが生成される時はこの数字の小~大で並び変えられて入力順序になります。
【入力タイプ】「file」を選択します。
【項目名】管理者へのメール、データをファイルに保存するときの項目名になります。また、入力確認のときに項目名として表示されます。
【続右】上の項目の右側に表示させる場合はチェックを入れます。
【項目名表記】項目の入力欄の左側に表示されます。指定を省略すると「項目名」が採用されます。
【必須】チェックを入れるとこの項目は必須入力の指定となり、指定した必須マークがつきます。
【コメント】「コメント」を指定します。ここで指定したテキストが入力欄の右側に表示されます。注意書きなどに使用します。
入力欄の下に表示したい場合は コメントの前に <br> を記述します。
削除
【入力タイプ】「削除」を選択します。
このラインの項目は生成されません。
管理者メールアドレス
「初期設定」の「入力されたフォームのデータの処理を指定」で「管理者にメール送信」「両方」を指定している時、送信があったことを管理者宛メールとして送信するメールアドレスを指定します。
複数のアドレスを指定する場合は半角の, またはスペースで区切って指定します。(最大の指定数は「初期設定」の「6.管理者メールアドレス」で指定した最大数になります)
半角の, またはスペースで区切る違いはスペースで区切ると複数のメールをそれぞれのアドレスに対して送りますが半角の, は送り先アドレス To: に複数のアドレスを指定してメールを送信します。
また、アドレスの前に to: を付けて指定するとそのアドレスは To: に複数のアドレスを指定してメールを送信します。
管理者宛メールを複数指定して cc bcc で送る場合はメールアドレスの前に cc: bcc: を付けて指定します。(例 cc:aaa@bbb.cccc、bcc:ccc@ffff.xxxx、cc:aaa@bbb.cccc,ccc@ffff.xxxx)
管理者宛メールアドレスにアドレスリストのファイル名を指定するとアドレスリストに送信できます。
また、アドレスリストを編集することにより動的に管理者宛メールアドレスを変更させることが可能になります。
アドレスリストのファイル名はテキストファイルでサーバーのルート( _/ ~で指定)又はドキュメントルート( /~で指定)から指定します。
例:abc@def.com /aaa/bbb/ccc/list.txt この場合は管理者のメールアドレスは abc@def.com で ドキュメントルート/aaa/bbb/ccc/list.txt のアドレスリストに登録されている複数のメールアドレスにもメール送信します。
アドレスリストのファイルのフォーマット(半角の; またはタブで区切って指定します)
メールアドレス(複数の場合は半角の, またはスペースで区切って指定); 条件式; メールテンプレートのファイル名
または
メールアドレス(複数の場合は半角の, またはスペースで区切って指定); メールテンプレートのファイル名
~
条件式; メールテンプレートのファイル名は不要の場合は指定しません。
条件式の指定がないと無条件に送られます。
送られるメールのテンプレートはアドレスリストが存在する同じディレクトリの中に用意しておけば指定できます。テンプレートの記述の方法はマスター管理者メニューの「管理者宛メール編集」で述べられている記述例と同じです。
メールのテンプレートを指定しなければ初期設定の管理者宛メールのテンプレートが使われます。
テンプレートの指定は to: cc: bcc: のアドレスにはできません。
条件式を指定すると動的に送信する管理者宛メールアドレスを変更させることが可能になります。
条件は「初期設定」の編集画面 54.本文 「メール本文の中で使える比較演算子一覧」と同じ記述ができます。(項目名 比較演算子(=、<>、ct、nct等) 比較値)を指定します。(!and!、!or!を使って複合条件とすることもできます)
比較演算子は = 等しい、<> 等しくない、!ct! 値を含む、!nct! 値を含まない等となります。
例えば、都道府県=大阪府 と指定した場合、フォームの入力項目の都道府県に入力された値が「大阪府」に等しければこの行のアドレス abc@xyz.com に管理者宛メールが送信されます。
指定例:abc@xyz.com;都道府県=大阪府
フォームの例:<select name="都道府県(ch)">~</select>
Tips 指定した項目名が複数選択の項目(例えば checkbox)の場合は以下の様になります。
フォームへの挿入例:
商品A:<input type="checkbox" name="選択商品(ch)" value="商品A">
商品B:<input type="checkbox" name="選択商品" value="商品B">
商品C:<input type="checkbox" name="選択商品" value="商品C">
商品D:<input type="checkbox" name="選択商品" value="商品D">
アドレスリストファイルの内容
aaa@xyz.com;選択商品!ct!商品A
bbb@xyz.com;選択商品!ct!商品B
ccc@xyz.com;選択商品!ct!商品C
ddd@xyz.com;選択商品!ct!商品D
eee@xyz.com
この設定では送信者が商品Bと商品Dを選んだ時は bbb@xyz.com と ddd@xyz.com に管理者宛メールが送られます。
どの条件にも当てはまらない場合は eee@xyz.com に送られます。
条件式の記述があるとそれ以前に記述した条件のないアドレスリストには無条件に送られます。条件式に合致したアドレスがあるとそれ以降に記述した条件のないアドレスリストには送られません。
※ フォームの入力項目の項目名の指定はオプション (ch) などは外して指定してください。
※ 送信するメールアドレスが20件以上になるとバックグラウンドで送信処理を行います。(Unixサーバー利用時)
上記セットをファイルで設定(個別送信フォーム設定ファイルを指定)
上記セットを別途ファイルで設定し個別送信フォーム設定ファイルとして用意すると管理者宛メールアドレスを動的に変更させることが可能になります。
個別送信設定ファイルのファイルフォーマットは以下のようになっています。(CSVまたはTSVファイル)
コード, 管理者メールアドレス, key番号=テキスト(又はオプション付項目名=テキスト), ~
個別送信設定ファイルの拡張子を .cgi とすることによりファイル内のメールアドレスを覗かれる可能性が低くなります。
送信フォームのオプション (code) を付けた入力項目の値と個別送信設定ファイルのコードと等しいデータ行で指定した管理者メールアドレスへデータが送信されます。
また、表示される送信フォームに埋め込んだ <!--key番号-->(又はオプション付項目名 例: name(ch) ) と指定したコードと等しいデータ行で指定した置換テキストに置き換えて表示されます。
Tips 送信フォーム利用者がコードを指定する例:例えば商品のカタログを請求させるフォームで選択項目で商品を選択させ select にcode オプションを指定します。
<selct name="商品コード(code)"><option value="101">商品A</option><option value="102">商品B</option></select>
個別送信設定ファイルを以下のように編集しておきます。
101, aaaa@xxxx.co.jp, key1=商品Aのカタログ請求
102, bbbb@xxxx.co.jp, key1=商品Bのカタログ請求
~
利用者が 102 の商品を選択した場合は管理者 bbbb@xxxx.co.jp へメールが送信されます。また送信フォームに埋め込んだ <!--key番号--> 又はオプション付項目名 例: name(ch) ) と指定したコードと等しいデータ行で指定した置換テキストに置き換えて表示されます。(送信フォーム静的に呼び出した場合は確認画面の表示のみ)
Tips 管理者が送信フォームを表示する時点でコードを指定する例:例えば商品コード101のカタログを請求させるフォームへのリンクを送信フォーム表示プログラム formmail_display.cgi を指定して送信フォームを表示。
例:<a href="/cgi-bin/formmail_display.cgi?id:%ID%+%set%+code:101">コード101商品の資料請求</a> <a href="/cgi-bin/formmail_display.cgi?id:%ID%+%set%+code:102">コード102商品の資料請求</a> (送信フォームのIDと code を引数で指定します)
Tips 同じく初期設定の「管理者メールアドレス」欄でアドレスリストを使っても同じような機能が使えますが微妙に使い方や動作内容が違います。希望される機能に適したものをお使いください。
フォーム表示プログラムを使用する
フォーム表示プログラム formmail_display.cgi はフォームを静的に表示するのではなく何らかの判断を伴い動的に表示したりクッキー、WhatsNewの値(データ)をセットしたい場合に使用します。
以下の使用例の id:ZZZ にはフォームのID(例の場合は ZZZ )を指定します。
「初期設定」で指定したフォーム以外を表示させるには以下のようにフォームのHTMLファイルをサーバーのルートまたはドキュメントルートから指定します。form:/aaa/bbb/ccc/xxxxx.html
例:http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+form:/home/aaa/bbb/ccc/xxxxx.html+key1:<!--custom1u-->+key2:<!--custom2u-->>
フォーム表示プログラムは以下の場合に使用します。
1、送信可能数、可能期間を初期設定で指定した場合でフォームを表示する前にチェックを行いたい。
この場合、送信フォームに表示させるには formmail_display.cgi を以下のように呼び出します。
例:http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+chk
2、クッキーに保存された項目を送信フォームに表示させる時にセットして表示させたい場合。
この場合、送信フォームに表示させるには formmail_display.cgi を以下のように呼び出します。
例:http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%
3、送信フォームの項目の value="" の値をフォーム表示プログラム formmail_display.cgi の引数 項目のname:XXX の XXX にセットして表示させます。
項目の name:XXX は半角の + で続けて指定することができます。
※ 項目の name 指定には (オプション) も含めて指定します。
この場合、送信フォームに表示させるには formmail_display.cgi を以下のように呼び出します。
例:http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+項目名1:XXX+項目名2:XXX
項目名に日本語の2バイト文字が含まれる場合はURL変換する必要があります。
送信フォームの記述例:<input type="hidden" name="項目名1" value="">
4、送信フォームに埋め込んだ <!--key番号--> の部分にフォーム表示プログラム formmail_display.cgi の引数 key番号:XXX の XXX をセットして表示します。
key番号:XXX は半角の + で続けて指定することができます。
この場合、送信フォームに表示させるには formmail_display.cgi を以下のように呼び出します。
例:http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+key:XXX
XXXに日本語の2バイト文字が含まれる場合はURL変換する必要があります。
送信フォームの記述例:<input type="hidden" name="aaa" value="<!--key番号-->">
フォームジェネレータでフォームを作成する場合は初期値に <!--key番号--> を指定しておきます。
5、送信フォームに埋め込んだ %checked% の部分にフォーム表示プログラム formmail_display.cgi の引数 checked:YYY の YYY をセットして表示します。
この場合、送信フォームに表示させるには formmail_display.cgi を以下のように呼び出します。
例:http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+form:/aaa/bbb.html+checked:YYY
YYYに日本語の2バイト文字が含まれる場合はURL変換する必要があります。
送信フォームの記述例:<input type="hidden" name="選択項目" value="%checked%">
フォームジェネレータでフォームを作成する場合は初期値に %checked% を指定しておきます。
6、(3、4、5)の手法は CGI WhatsNew の詳細表示画面からフォームメールプロを呼び出す場合に利用します。
また、1、2にも併用して指定することができます
以下の例のように記述します。
(3の例)
WhatsNew の詳細テンプレート
<a href="/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+商品番号:<!--custom1u-->+商品名:<!--custom2u-->">フォームへ</a>
フォームメールの送信フォーム
<input type="hidden" name="商品番号" value="">
<input type="hidden" name="商品名" value="">
(4の例)
WhatsNew の詳細テンプレート
<a href="/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+key1:<!--custom1u-->+key2:<!--custom2u-->">フォームへ</a>
フォームメールの送信フォーム
<input type="hidden" name="商品番号" value="<!--key1-->">
<input type="hidden" name="商品名" value="<!--key2-->">
(5の例)
WhatsNew の詳細テンプレート
<form method="post" action="cgi-bin/whatsnew/whats_display.cgi?id:test+filter:1:2!sel!">
フォームメールの送信フォーム
<input type="hidden" name="選択商品" value="%checked%">
7、送信フォームの年を select で入力する場合、本年を基に年の範囲を動的に変えたい
フォームメールの送信フォーム
<select name="年月日(ch//#:年月日の年)"></select>
<select name="年月日(ch//#:年月日の月//add/)"><option value=""><option value="01">1</option>~
送信フォームの年の選択に本年を基に年の範囲を動的に変えます。
フォーム表示プログラムの引数に以下のように year: オプションを指定します。
year:年の範囲:年のname
年の範囲は半角の_ で区切って指定、Yは本年を表し、続ける数字 Y1 は本年にプラス、Ym数字は本年からマイナス
年の name は一部の指定でも可能です(複数指定したい場合)
以下の例では年の範囲は本年から本年から5年先まで、select の name に「年月日の年」が含まれる select に設定
<a href=/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+year:Y_Y5:年月日の年>フォームへ</a>
年の name が全角を含む場合は実際には URLエンコードして指定します、URLエンコードはスーパーバイザー管理者のメニューから実行することができます。
<a href="/cgi-bin/formmail/formmail_display.cgi?id:%ID%+%set%+year:Y_Y5:%94N%8c%8e%93%fa%82%cc%94N">フォームへ</a>
{!項目名!}
送信フォームに配置された{!項目名!} には項目名で保存されたクッキーの値、WhatsNewの「初期設定」で設定したカスタム項目の項目名(表示テキスト)のデータが置換されます。
会員登録データを入力欄にセット(簡易会員)
Tips 会員登録された方が再度送信されようとした時に登録されたデータを呼び出し入力欄にセットすることができます。
マスター管理者の「初期設定」画面で「入力されたフォームのデータの処理を指定」でデータを保存する設定にしておきます。
マスター管理者の「フォームを編集」処理で「入力タイプ」の「※メールアドレス(ID)」か「ID(携帯は自動取得)」と「パスワード(会員確認)」の両方を必ず設定しておきます。
パスワード入力は英数半角で6-12桁の入力で入力チェックが行われます。
送信フォームを作成すると「メールアドレス」と「パスワード」を入力して確認するためのHTMLタグが送信フォームの上部に作成されます。
「フォーム編集」処理を使わずに予約フォームを作成する時は以下のHTMLコードを改行せずに1行で任意の場所に挿入します。
<!-- --><form method="post" action="#cgi#"><table bgcolor="#888888" cellspacing="1" cellpadding="1" style="font-size:13px;color:#333333" align="center"><tr><td align="center" bgcolor="#E6E6E6">以前にご利用された方はメールアドレス、パスワードで入力項目を呼び出せます</td></tr><tr><td align="center" bgcolor="#FFFFFF"> ID:<input type="text" name="_kid" value="" size="16" style="ime-mode:inactive"> パスワード:<input type="password" name="_kpass" value="" size="16"> <input type="submit" name="_passsub" value="呼び出し"><!--id_pass--></td></tr></table></form>
「メールアドレス」と「パスワード」の両方が入力された時は会員データファイルに登録されますが、入力項目のどの項目を保存するかは「初期設定」の23で指定します。
23では会員ファイルを別に持つ場合のファイル存在場所も指定できますが指定がないと標準のファイルとして保存されます。(ルート又はドキュメントルートからの指定は /~、絶対パス指定は _/~で始めて指定します)
会員ファイルに保存する項目を半角のカンマで区切って指定します、以下で説明している擬似会員処理を行う時は何も指定しません。
ID項目は項目名の後に /、パスワード項目は項目名の後に * を、利用回数の項目名の後に + を付加して指定します。例:お名前,メールアドレス/,パスワード*,利用回数+,電話番号~
ここで指定を行うと管理者メニューで「対象フォーム」が会員登録用のフォームとして1つ、会員編集用のフォームとして1つの2つのフォームIDが追加されます。
会員登録用のフォームはこのフォームを利用して会員登録をしてもらうことができます、また登録された会員データの閲覧、検索や編集はこのフォームIDを選択して行います。
会員編集用のフォームは会員の方が登録内容を変更したり削除するために使用します。これらの機能を使うには以下の処理を行う必要があります。
まず登録用のフォームを作り直します。【マスター管理者メニュー】の対象フォームに登録用フォーム( _k が付いているID )を選択します。メニューの「フォーム編集」欄の「設定ファイルを編集」をチェックし「フォーム編集」をクリックします。
入力項目は全てテキスト入力の設定になっていますので適宜設定を変更しフォームとして使用できるように作り直します。
ここでのパスワード項目の指定は「パスワード(会員確認)」ではなく単に「パスワード」を選択します。
次に「スーパーバイザー管理者メニュー」に移り対象フォームに編集用フォーム( _e が付いているID )を選択します。
「変更用フォームに設定」欄の「変更用フォームとして設定します」のフォーム選択に登録用フォーム( _k が付いているID )を選択します。
「変更用フォームに設定」をクリックしIDとパスワード項目の指定などを行い処理を実行します。処理が終了すると編集用のログインページが作成されます。
会員データを参照して入力された時は管理者に送信されるメールに 【会員】入力したパスワード が付加して送信されます。
また、自動返信メール、管理者宛メール文のテンプレートの条件式として #会員# に値1がセットされます。
再送信時に前回入力データを入力欄にセット(擬似会員)
Tips 以前に送信された方が再度送信されようとした時に前回に入力されたデータを呼び出し入力欄にセットすることができます。
マスター管理者の「初期設定」画面で「入力されたフォームのデータの処理を指定」でデータを保存する設定にしておきます。
マスター管理者の「フォームを編集」処理で「入力タイプ」の「※メールアドレス(ID)」か「ID(携帯は自動取得)」と「パスワード(会員確認)」の両方を必ず設定しておきます。
入力時は「メールアドレス」と「パスワード」は両方が入力されたか、どちらも入力されていないかが自動的にチェックされます。(従って入力オプションの必須 ch を設定する必要はありません)
またパスワード入力は英数半角で6-12桁の入力で入力チェックが行われます。
送信フォームを作成すると「メールアドレス」と「パスワード」を入力して確認するためのHTMLタグが送信フォームの上部に作成されます。
作成された送信フォームを表示させる場合は、フォーム表示プログラム formmail_display.cgi を使って表示させる必要があります。
前回入力データをセットさせたくない項目には NOCP オプションを設定します。
例:<input type="text" name="住所(ch//NOCP)" size="50" value="">
マスター管理者の「フォームを編集」処理を使わずに送信フォームを作成する時は以下のHTMLコードを改行せずに1行で任意の場所に挿入します。
<!-- --><form method="post" action="#cgi#"><table bgcolor="#888888" cellspacing="1" cellpadding="1" style="font-size:13px;color:#333333" align="center"><tr><td align="center" bgcolor="#E6E6E6">以前にご利用された方はメールアドレス、パスワードで入力項目を呼び出せます</td></tr><tr><td align="center" bgcolor="#FFFFFF"> ID:<input type="text" name="_kid" value="" size="16" style="ime-mode:inactive"> パスワード:<input type="password" name="_kpass" value="" size="16"> <input type="submit" name="_passsub" value="呼び出し"><input type="hidden" name="_id_pos" value=""><input type="hidden" name="_pass_pos" value=""><!--id_pass--></td></tr></table></form>
<input type="hidden" name="_id_pos" value="">と<input type="hidden" name="_pass_pos" value="">
のvalue値には送信されたデータのメールアドレス(ID)、パスワードが1レコードの何番目に保存されているかを指定します。
値がブランクなら自動で探してきます、しかしうまく探せないときは手動で値をセットしてください。
値を調べるにはマスター管理者メニューの「検索&編集」処理を行いいずれかのレコードを「編集」処理します。
項目名と内容を確認しメールアドレス(ID)、パスワードのNo.欄の数字をセットします。項目名と内容は場合によっては一致しませんので内容で確認するようにしてください。
また以下の入力項目のHTMLコードを送信フォームの入力項目の中に含めておきます。
<input type="text" name="メールアドレス(ch//mail//id_chk_x)" value="" size="30" style=";ime-mode:inactive" />
(必要なら)<input type="text" name="メールアドレス(mailc)" value="" size="30" style=";ime-mode:inactive">
<input type="password" name="パスワード(ch//pass//rg4-12)" value="" size="30">
「メールアドレス」と「パスワード」を入力して「確認」ボタンをクリックすると以前に送信された方で「メールアドレス」と「パスワード」が一致したデータがあれば以前の入力項目がフォームにセットされます。
送信入力フォームの「メールアドレス」と「パスワード」欄にも「メールアドレス」と「パスワード」がセットされますが「メールアドレス」を変更することはできません。
「メールアドレス」と「パスワード」を入力せずに送信入力フォームのみを入力すれば通常の送信処理を行います。
この機能を利用すると簡易な会員処理ができます、「メールアドレス」と「パスワード」を入力してこられた方は会員だと認識させることができます。
通常の会員管理と異なるのは保存された送信データは1人の会員データでIDは同じで複数の送信された数のデータが存在するということです。
このためポイント管理などはできません。単に以前に送信されて「メールアドレス」と「パスワード」の登録があったかどうかだけの確認ができるだけの機能です。
「以前にご利用された方はメールアドレス、パスワードで入力項目を呼び出せます」「呼び出す」の文言はマスター管理者の「フォーム編集」処理の中で変更することができます。
郵便番号検索 ajaxzip3 を組み込む
固定入力タイプの郵便番号と都道府県、住所を指定して設定すると郵便番号検索 ajaxzip3 が自動的に組み込まれます。手動でフォームを作成するときは以下を参考にしてコーディングして下さい。
尚、都道府県を省いて指定すると都道府県名は住所に挿入されます。スマートフォンを使う場合は都道府県はうまく選択状態になりませんので都道府県を省いて設定するようにして下さい。
HTMLヘッダ設定例
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<script src="http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js" charset="UTF-8"></script>
</head>
1ボックスで郵便番号7桁を入力させる場合の設定例(都道府県と以降の住所を分ける場合)
<input type="text" name="郵便番号(zip//ch)" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','都道府県','住所')" >
<input type="text" name="都道府県" size="20">
<input type="text" name="住所" size="60">
1ボックスで郵便番号7桁を入力させる場合の設定例(都道府県と以降の住所を分けない場合)
<input type="text" name="郵便番号(zip//ch)" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','住所','住所')" >
<input type="text" name="住所" size="60">
2ボックスで郵便番号を3桁-4桁形式で入力させる場合の設定例
<input type="text" name="郵便番号1(ch)" size="4" maxlength="3"> - <input type="text" name="郵便番号2(ch)" size="5" maxlength="4" onKeyUp="AjaxZip3.zip2addr('郵便番号1(ch)','郵便番号2(ch)','都道府県','住所','strt21')" >
<input type="text" name="都道府県" size="40">
<input type="text" name="住所" size="40">
見たいヘルプを選択しなおして下さい