予約フォームの初期設定を行います
「初期設定」ボタンをクリックします。
入力されたフォームのデータの処理を指定します。
管理者にメール送付、サーバーに保存、両方、送信しないから選択します。
「送信しない」はフォームメールプロを見積もり計算システムなどに使いメールを送信しない場合に指定します。
送信されたフォームデータを保存ファイルの最初に登録(データの並びは新〜旧)するか最後に登録(データの並びは旧〜新)するかを選択します。
保存するデータの連番は何番から始めるかを指定します。
現在のカウント値が表示されていますので希望する番号に変更します。
数字の連番以外にフォーマットを指定して色々なデータを挿入することができます。フォーマットは半角の %〜% で囲んで指定します。
999【桁数でゼロフィル数字連番、9のみは連番有効桁数】yy=年下2桁 mm=月 dd=日 zz=時 ff=分 rr=rの桁数分の乱数 RR=Rの桁数分の英小文字を含む乱数、
{!項目名!}【送信されたデータの項目を挿入することができます】
例:AA%{!性別!}yy:mm rrr999%BB --> AA男07:04 458001BB
データ、レポートが送付される管理者用メールアドレスを指定します。
複数のアドレスを指定するときは半角のカンマ,で区切って指定します。
管理者に送信されるメールのサブジェクトを指定します。
管理者に送信されるメールに
管理者に送信されるメールには 【項目名】入力データ のフォーマットで項目数だけのテキストデータがメールで送られます。
それ以外に各項目の入力値のみをカンマで区切ったCSVデータを一緒に送信する場合にチェックします。
(これによりデータを選択しコピー&ペーストでExcelなどへデータを移すことができます)
送られる項目名、入力値のフォーマットを指定します。
何も指定しないと標準のフォーマットは 【項目名】入力値 になります。このフォーマット以外でデータを送信する場合に指定します。
%kn%の位置に項目名が挿入されます、半角,で携帯用を続けて指定します。(例:【%kn%】,[%kn%])
データをファイルに保存する時各項目のセパレーター
データをファイルに保存する時各項目のセパレーターをタブにするかカンマにするかを選択します。また保存する漢字コードを設定します。
複数選択項目のデータセパレーター
selectタイプやcheckboxタイプで複数の選択を可能にしている場合に各選択値を繋げるキャラクター(セパレーター)を指定します。
受け付けないメールアドレス
メールアドレスのチェックに受け付けられないテキストを指定することができます。(フリーメール等を指定します)
メールアドレスに含まれていれば受け付けないテキストを半角の
,で区切って小文字で指定します。
例:
yahoo,hotmail
ランダム認証コードによるスパム対策
予約フォームの送信は「初期設定」の「連続送付をチェックしますか?」欄で「確認画面を呼び出した時間+IDが一致したときに重複と判定」を選択しておくと連続して送信できなくなりスパム対策として有効に機能します。
しかし、目に見えた形でスパム対策を行う場合は「「画像認証」によるスパム対策」を有効にしてください。
送信時に表示されるランダムな送信キーを入力することで目に見えた形でスパム対策を行うことができます。(確認画面表示時のみ有効です、但しこの機能でスパム対策が完全できたわけではありません)
認証コードの表示を簡易画像、画像(GD)、画像(ImageMagic)のどの画像で表示するのかをPC画像、携帯フォームの両方で選択します、画像(GD)、画像(ImageMagic)で画像で表示させるにはインストールするサーバーにImageMagicモジュールまたはGDモジュールがインストールされている必要があります。
簡易画像では数字をgif画像で表示します。GIF 画像を連結する perl 用ライブラリには杜甫々さんのgifcat.plを使用しています。
簡易画像で使用する数字GIF画像は変更することができます。CGIプログラムが存在するディレクトリの中のディレクトリ、GDの下に0〜5のディレクトリがありその中に0.gif〜9.gifまでの画像がありますので上書きでアップロードして下さい。但しGIF画像の高さは全ての画像で同じ高さにして下さい。
表示する認証コードの桁数を指定します。(無指定は6桁になります)
表示させるキャラクター群を指定します。ここで指定されたキャラクター群の中からキャラクターをランダムに選んで表示されます。指定が無い場合は ABCDEFGHIJKLMNOPQRSTUVWXYZ を採用します。(例:abcdefgs1234567890)
キャラクター群の指定は複数同じキャラクターがあっても構いません、表示確率が高くなります。* を指定すると全ての英数字となります。!キャラクター は全ての英数字から指定したキャラクターを除きます。(例:!oO0sS)
認証画像の表示にはGD::SecurityImageを使用しています。画像サイズや文字のレイアウトをカスタマイズしたい方はマスター管理者メニューの「画像認証設定」処理で行うことができます。
GD::SecurityImageで表示するフォントの追加の仕方
フォントファイルはTTFファイルであれば任意のフォントが使えます。フォントファイルはCGIプログラムが存在するディレクトリの中のディレクトリ、GDの下にアップロードします。
【メール配信】 機能の設定
メール配信機能の設定を行います。「HTMLメールを使用:□」「添付ファイルを使用:□」「配信予約を使う:□」のうち使う機能を選択します。
配信予約を使う場合はサーバーで cron の使用が許されていることが必要です。crontab の設定で formmail_hs.cgi を毎0,10,20,30,40,50分に起動するよう設定します。(安全のため formmail_hs.cgi はプログラム名を変更してお使い下さい)
データに付加する属性
データに送信者の属性('HTTP_UA_OS'、'HTTP_USER_AGENT'、'REMOTE_ADDR'}、'REMOTE_HOST')を付加するかしないかを選択します。
日ごとの送信件数を管理者に送りますか?
デイリーの送信件数を管理者に送るか送らないかを選択します。
送る場合は一日の最初の送信があった時に前日の送信件数を送ります。
連続送付をチェックしますか?
連続して送信ボタンがクリックされて重複して登録されるのを防ぐため、入力項目を指定して重複をチェックすることができます。チェックしたい場合は過去何人まで溯ってチェックするかを入力します。チェックしない場合は何も入力しません。
チェック方法は次の3っの方法から選択します。
- 確認画面を呼び出した時間+IDが一致したときに重複と判定(最終の送信画面から「送信ボタン」が何度も押された場合の連続送信に有効です。
- 環境変数にセットされる$ENV{'REMOTE_ADDR'}が一致したときに重複と判定(携帯電話からの送信、またはプロキシーサーバー経由の場合などではチェックできません)
- 連続送付をチェックしたい時にどの方法で連続送付をチェックするかを指定します。
チェックする場合は過去何人まで遡ってチェックするかを指定します。
方法は「確認画面を呼び出した時間+IDが一致したときに重複と判定 (スパム対策として有効)」、「REMOTE_ADDRが一致したときに重複と判定」、「dck指定項目のいずれかが、又は全てが一致したときに重複と判定」のいずれかを選択します。
「dck指定項目のいずれかが、又は全てが一致したときに重複と判定」は項目のオプションオプション(dck)の付いた項目(複数指定可)に対してチェックします、もし指定がなければ「氏名」または「名前」が含まれる項目をチェック対象にします。
連続送信があった時のエラーメッセージを指定します。(【http://】、【/】、【.】 から始まるHTMLを指定するとそのHTMLファイルにリンクします)
入力内容確認後に押すボタンに表示する文言
入力内容確認後にデータを送信する際に押すボタンに表示する文言を指定します。
携帯用がある場合は
,で区切って続けて指定します。
「印刷」ボタン
入力内容確認後に確認画面を印刷するための「印刷」ボタンをつけるかどうかを指定します。付けた場合は javascript を使用して印刷ダイアログを表示させます。
データ送信後に表示する文言
上記のボタンを押してデータ送信された後に表示される文言を指定します。(htmlタグを含めて記述することができます)
http://で記述すると指定したURLを表示します。(link:http://で始まる行を(条件) の中に記述すれば該当した場合に指定したURLを表示します。記述方法は以下の「自動返信メール」と同じで置換キーワードの他に%print_button%も可)
<html、<!DOCTYPE、<?xml で始めるとHTMLタグソース記述になります。(ソース記述のリンクで指定する相対パスの基点はフォームHTMLが存在するパスです)
ソースHTMLファイルを指定する場合はサーバーのルートからHTMLファイルを指定します /〜
<form>で始めるとフォームをベースに以下の記述を<!--ok_form-->または</form>の位置に挿入
文言を項目の入力された値によって組み合わせて送信することができます。
http://で始まる行を(条件) の中に記述すれば該当した場合に指定したURLを表示します
記述方法は以下の「自動返信メール」の記述と同じです(「自動返信メール」の記述の説明を参照ください)
記述中に以下の置換キーワードがあれば置き換えが実行されます
%%項目名%%->項目名の入力値 %date%->送信時の日付 %time%->送信の時刻 %data%->フォームで送信されたデータ一覧
%name%->名前 %mail%->メールアドレス %print_button%->プリントボタン %henkou%->変更処理を行った場合の表示テキスト %id%->フォームID %url%->ホームページUR
Tips 計算式を指定することにより他の入力項目の入力値を使って計算結果をセットさせることもできます。value値を
{{計算式}} で指定します。(計算式は128バイトまで)
他の入力項目の入力値は半角の
%%と%%で name="" の指定名を囲んで指定します。(この時
()で指定したオプションは省いて指定します、数量(ch) は 数量 で指定)
他の入力項目の入力値が金額の場合は数字以外が含まれていても半角の数字の前に \ 、後に円が付いていれば計算可能です。また3桁ごとのカンマが付いていても可能です。
入力値の中に半角の数字の前に \ 、後に円が付いている数字が複数あると複数の数字をプラスします。(chckbox の値で複数の項目を選択していて金額の和がほしい場合に有効です)
計算式の中に 9999/99/99-9999/99/99 の式(例:%%利用終了日%%-%%利用開始日%%)があると日付の経過日数を計算します。
計算値には四則演算子 +-*/ と固定値、入力項目名(半角括弧で指定するオプションは省きます)などが使用できます。(例:
{{%%数量%%*%%単価%%/10}})
perl の関数等も使えます。(例:
{{%%数量%% eq '1' ? %%数量%%*%%単価%%/0.7:%%数量%%*%%単価%%}})
ただし、入力項目の入力値、式の中に次の英文字を含めることはできません。(
sys,re,kill,dir,del,link,for,whi,go,fcn,eva,ex,con,wai,ope,do,&で始まる英文字)
参照する項目の名前を指定します。(ch)等のオプションは省いて指定してください。
文言を以下の様に構成して記述します
文言の最初に挿入される
文章【ありがとうなど】。
(項目名=値1)
指定した項目の値が値1と等しい時に
送信される文章を記述します。
(項目名!=値2)
指定した項目の値が値2と等しくない時に
送信される文章を記述します。
(項目名)
指定した項目の値に何か入力されていた時に
送信される文章を記述します。
( )
本文の最後に
表示される文章。
(項目名=値)+改行+文章は必要なだけ記述できます、条件が一致した文章が連結されて表示されます、また文章の改行は文章に反映されます。
入力に不備があった時のエラー表示画面
入力に不備があった時のエラー表示画面を選択します。
表形式、表形式(フォームをベースに)、携帯用、カスタムHTML、フォーム形式から選択します。
表形式はテーブルタグの形式でプログラムで決まった形式で表示されます。
表形式(フォームをベースに)は送信フォームをベースにして<form〜</form>間、またはに<!--ok_form-->の位置にテーブルタグの形式でプログラムで決まった形式で表示されます。
携帯用は携帯電話用にデータをベタに表示します
自分で自由にデザイン、フォーマットした形式で表示したい場合はカスタムHTMLファイルを選択します。
入力したフォームのHTMLファイルと同じ形式で表示させる場合はフォーム形式を選択します。(この場合はこの画面で問題箇所の訂正をして再送信が可能です)
エラー表示が行われた後でエラー表示部分の先頭がブラウザの一番上部に表示されるように移動します。(エラー表示部分がブラウザの表示域の下に隠れてしまう場合)
この機能を使わない場合は「何もしない」にチェックを入れます。また任意の場所に移動させたい場合は手動で送信フォームの中の任意の場所に<a name="_ERTOP"></a>を埋め込んでおき「手動挿入した<a name="_ERTOP"></a>に移動」にチェックを入れます。
全ての項目が正しく入力された時の確認画面
全ての項目が正しく入力された時の確認画面を表形式、携帯用、カスタムHTML、フォームをベースに、表示しません、から選択します。
(説明は上記の入力に不備があった場合と同じです)
フォームをベースには送信フォームをベースにして<form〜</form>間、またはに<!--ok_form-->の位置にテーブルタグの形式でプログラムで決まった形式で表示されます。
(表示に関する設定は以下の「確認画面のテーブル色を指定」で指定できます。)
◆カスタムHTMLを指定した場合は、どのカスタムHTMLを使用するか指定します。
標準のディレクトリにあるファイルを指定する場合は選択ボックスから選択します。
標準のディレクトリ以外にあるファイルを指定する場合はサーバーのルートからフルパスで指定します。
ファイルをドキュメントルート以下から指定する場合は~/から指定します。
確認画面表示が行われた後で確認表示部分の先頭がブラウザの一番上部に表示されるように移動します。(確認表示部分がブラウザの表示域の下に隠れてしまう場合)
この機能を使わない場合は「何もしない」にチェックを入れます。また任意の場所に移動させたい場合は手動で送信フォームの中の任意の場所に<a name="_ERTOP"></a>を埋め込んでおき「手動挿入した<a name="_ERTOP"></a>に移動」にチェックを入れます。
カスタムHTMLの記述のルールについては下記を参照下さい。
カスタムHTMLを選択し、カスタムHTMLを指定しなかった場合は指定されているフォームHTMLを解析し自動でカスタムHTMLを作成します。(ファイル名はフォームのHTMLファイルと同じになります、またエラー用はファイル名_e.htmlとなります)
フォーム形式でエラー状況を表示する時の設定
フォーム形式でエラー状況を表示する時の設定をします。
フォーム形式でエラーを表示する時に全エラーを1行に表示するか1エラーを1行に表示するか、携帯用に表示するかを選択します
フォーム形式のエラー内容を表示する場合のテンプレートを指定することができます。
「前タグ:」「エラー繰返タグ:」「後タグ:」に分けて指定します。「前タグ:」+(「エラー繰返タグ:」xエラーの数)+「後タグ:」で出力されます。
前タグ:には <!--er_title--> を含めることができ、エラータイトルが挿入されます。
エラー繰返タグ:には同じく <!--erno--> の位置にエラー番号、<!--er_mes--> の位置にエラー内容が挿入されます。
<
テンプレートの設定は「マスター管理者」の「メッセージ編集」で行います。
検索、フィルターの条件指定の最大件数を指定
管理画面の検索、フィルターの条件指定の最大条件指定件数を指定します。(指定なしは3件)
Ajaxzip2、jkl-calendar 等 javascript の存在場所
Ajaxzip2、jkl-calendar 等 javascript を使用する場合は javascript のスクリプトの存在場所 をドキュメントルートから /〜 で指定します。
会員ファイルを別に持つ場合のファイル存在場所
簡易会員機能を使い会員ファイルを別に持つ場合にファイルの存在場所と入力項目のどの項目を保存するかをここで指定します。
ファイルの指定がないと標準のファイルとして保存されます。(ルート又はドキュメントルートからの指定は /〜、絶対パス指定は _/〜で始めて指定します、例:/abc/def/xyz.cgi )
会員ファイルに保存する項目を半角のカンマで区切って指定します、以下の擬似会員処理を行う時は何も指定しません。
ID項目は項目名の後に /、パスワード項目は項目名の後に * を付加して指定します。例:お名前,メールアドレス/,パスワード*,電話番号〜
ここで指定を行うと管理者メニューで「対象フォーム」が会員用のフォームとして1つフォームIDが追加されます。
登録された会員データの閲覧、検索や編集はこのフォームIDを選択して行います。
送信者会員データを参照して入力された時は管理者に送信されるメールに 【会員】入力したパスワード が付加して送信されます。
また、自動返信メール、管理者宛メール文のテンプレートの条件式として #会員# に値1がセットされます。
詳しい説明はこちらを
参照
自動返信メールの設定
- データ送信後に自動返信メールを自動的に送信する場合は「はい:□」にチェックを入れます。チェックを入れた場合はメール内容を指定します。
サブジェクト、送信元、送信者アドレス、メール本文を指定します。
- 自動返信メールにファイルを添付したり、自動返信メールをHTMLメールにする場合はパソコンにある添付ファイル、HTMLファイルを指定してアップロードします。
3ファイルまで指定できます。ここでアップロードしただけでは添付されません、ファイルを添付させる場合は本文に file:ファイル名 行を記述します。
また、HTMLメールを送信する場合は html:ファイル名 を記述します
(条件) の中の文中に記述すれば該当した場合にのみ添付、送信されます
- 自動返信メールの本文を項目の入力された値によって組み合わせて送信することができます。
メール本文の中で使える置換タグ(本文中に置換タグを挿入すると以下の置換が行われます)
タグ | 置換される項目 | タグ | 置換される項目 |
%%項目名%% | 項目名の入力値 | %%項目名%_% | 項目名の入力値(改行抜き) |
%date% | 送信時の日付(漢字使用は %datej%) | %time% | 送信の時刻(漢字使用は %timej%) |
%key番号% | 表示CGIデータ | %renban% | 連番 |
%data% | フォームで送信されたデータ一覧 | %name% | 名前 |
%mail% | メールアドレス | %etc% | etc項目 |
%id% | フォームID | %url% | ホームページURL |
{{計算式}} | 四則演算 +-*/ が可能です(Perl の計算式が記述できます、例:{{%%数量%%*%%単価%%/100}}) |
メール本文の中で使える条件式(本文中に挿入すると入力内容によってメール文を変えることができます)
●記述フォーマット 最初は条件を半角のカッコで括って記述、以降は条件が真の場合の記述、最後は半角の()で終了
●項目名はフォームの入力項目の name="名前(ch)" の名称です(オプションの (ch) 等は省いて名前で記述します
●条件は本文の中に何度でも挿入でき入れ子(条件の中にまた条件)も可能です
●また、条件は !and!、!or! で続けて複合条件とすることもできます、(項目名[比較演算子]比較値!and!項目名[比較演算子]比較値)
(項目名[比較演算子]比較値)
比較の結果、真の場合に挿入されるメール文
〜
()
本文の最初に挿入される
文章【挨拶、ありがとうなど】。
(項目名1=値1)
指定した項目の値が値1と等しい時に
送信される文章を記述します。
file:sample.gif 指定した項目の値が値1と等しい時に添付します。
()
(項目名2!=値2)
指定した項目の値が値2と等しくない時に
送信される文章を記述します。
()
(項目名3=値3!and!項目名4=値4)
指定した項目3の値が値3と等しく且つ項目4の値が値4と等しい時に
送信される文章を記述します。
()
本文の最後に
挿入される文章【署名等】。
(項目名
演算子値1)
文章
()
は必要なだけ記述できます、条件が一致した文章が連結されて送信されます、また文章の改行は本文に反映されます。
条件にマッチしなかった場合は送られません。
比較できる特別な入力値(該当しない時はブランクとなります)
入力項目名 | セットされている値 |
#登録# | 送信者(会員)がデータを登録されている時に 1 がセット |
#変更# | 送信者(会員)がデータを変更されている時に 1 がセット |
#削除# | 送信者(会員)がデータを削除されている時に 1 がセット |
#携帯電話# | 携帯電話からのアクセスされている時に 1 がセット |
#携帯メール# | 携帯電話のメールアドレスが入力されている時に 1 がセット |
#KAIIN# | 会員が登録データを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と等しい |
!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> |
※指定のない項目は初期設定の管理者メールデータが使われます