GOiGOi Project (ゴイゴイ・プロジェクト) -> 状況カレンダー自動作成 index -> 予約フォームマスター管理者の操作
 

マスター管理者の操作

  • ブラウザからマスター管理者のメニューページを呼び出します。

    http://www.xxxx.co.jp/cgi-bin/formmail/formmail_edit.cgi?master
    でメニュー画面を呼び出すことができます。
    または通常管理者画面の「マスター管理者へ」のリンクをクリックします
    (あなたがアップロードした場所と formmail_edit.cgi の名称を変更した場合は違う指定になります)

  • 以下の画面が表示されます。



  • 処理対象となるフォームを選択します。
  • マスター管理者のID、パスワードを入力します。
  • 処理したいデータの日付範囲を指定します。
  • 連番で指定したい場合は連番の範囲を指定します、連番は一覧で表示した時の一番左の一連の数字です。
    (ログデータが対象の場合は連番で指定することはできません)

  • 範囲に該当しないデータを対象としたい場合は「○マッチしない範囲を対象に」にチェックを入れます。
  • 全てのデータを対象としたい場合は「○全て」にチェックを入れます。

初期設定を行います(マスター管理者)

  • 処理対象となるフォームページを選択します。
  • 「簡易初期設定」または「高度初期設定」ボタンをクリックします。
  • 以下の画面(高度初期設定)が表示されます。
    「簡易初期設定」では設定できる項目が少なくなっています。
  • 必要項目を入力後「設定する」ボタンをクリックします。




データを入力するフォームのHTMLファイルを指定します

標準のディレクトリにあるファイルを指定する場合は選択ボックスから選択します。
標準のディレクトリ以外にあるファイルを指定する場合はサーバーのルートからフルパスで指定します。
ファイルをドキュメントルート以下から指定する場合は~/から指定します。
  • フォームメールプロはフォーム送信が行われるごとにフォームHTMLファイルを解析して処理します。
  • リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスはドキュメントルート / から記述するかhttp:// から始まる絶対パスで記述してください。
    または、フォームHTMLファイルの<head>〜</head>の間に<base href="">を記述してリンクの基準となるURLを指定して下さい。

入力されたフォームのデータの処理を指定します。

  • 管理者にメール送付、サーバーに保存、両方、送信しないから選択します。
  • 「送信しない」はフォームメールプロを見積もり計算システムなどに使いメールを送信しない場合に指定します。
  • 保存するデータの連番は何番から始めるかを指定します。
    現在のカウント値が表示されていますので希望する番号に変更します。
    数字の連番以外にフォーマットを指定して色々なデータを挿入することができます。フォーマットは半角の %〜% で囲んで指定します。
    999【桁数でゼロフィル数字連番、9のみは連番有効桁数】yy=年下2桁 mm=月 dd=日 zz=時 ff=分 rr=rの桁数分の乱数 RR=Rの桁数分の英小文字を含む乱数、
    {項目名}【送信されたデータの項目を挿入することができます】
    例:AA%{性別}yy:mm rrr999%BB --> AA男07:04 458001BB
  • 送信受付制限を設ける場合は設定します。
    送信可能数を半角数字で指定します(指定しない場合はブランク)。この数字が0になるまで送信できます。
    通常、送信が1件行われるとこの数字が1つ減ります。入力された項目の値で減数することもできます。
    送信フォームの入力項目のオプションに minus を指定します。例:申し込み人数=<input name="申し込み人数(ch//minus)" size="10">

    【送信可能期間】を設定します。開始と終了を指定することができます。この期間以外に送信されるとエラーメッセージが表示されます。
    開始と終了のどちらか一方の設定も可能です。
    送信フォームにアクセスした時点でエラーメッセージを表示させるには送信フォームを CGI で呼び出して表示する必要があります。
    この場合、送信フォームに表示させるには formmail_display.cgi を以下のように呼び出してください。
    http://www.xxxx.co.jp/cgi-bin/formmail/formmail_display.cgi?id:test+chk
    送信フォームへのリンクは次のように記述します。XXX の部分にはフォームIDを指定します。
    例:<a href=/cgi-bin/formmail/formmail_display.cgi?id:XXX+chk>送信フォームへ</a>
    (CGI へのパス指定は環境により異なります、携帯電話用フォームは +i を続けて指定します。)


    ここで表示されるエラーメッセージは設定ファイル formmail_set.pl の 121 行目で変更することができます。(http:// から指定するとURLへリンクします)
  • データ、レポートが送付される管理者用メールアドレスを指定します。
    複数のアドレスを指定するときは半角のカンマ,で区切って指定します。
  • データをファイルに保存する時各項目のセパレーターをタブにするかカンマにするかを選択します。
  • selectタイプやcheckboxタイプで複数の選択を可能にしている場合に各選択値を繋げるキャラクター(セパレーター)を指定します。
  • 【添付ファイル版】 添付ファイル版で送られてきた添付ファイルをどう処理するかを選択します。「管理者へのメールに添付」、「サーバー上に保存」、「メール添付&保存」から選択します。
  • 【添付ファイル版】 添付できる添付ファイルの最大ファイルサイズを指定します。(1ファイルにつき)
    1フォームで送信できるデータの最大バイト数(全ての項目を合計して)は formmmail_set.pl の185行目で指定します。
  • 【添付ファイル版】 画像添付ファイルの最大限の表示サイズを指定します。もしこのサイズより大きな画像ファイルの場合はこのサイズに縮小して表示されます。また最大限の表示サイズ縦、横を指定しない場合は画像を表示しません。
  • メール配信機能の設定を行います。「HTMLメールを使用:□」「添付ファイルを使用:□」「配信予約を使う:□」のうち使う機能を選択します。
    配信予約を使う場合はサーバーで cron の使用が許されていることが必要です。crontab の設定で formmail_hs.cgi を毎0,10,20,30,40,50分に起動するよう設定します。(安全のため formmail_hs.cgi はプログラム名を変更してお使い下さい)
  • データの保存を WhatsNew データ形式で保存する場合にチェックします。
    WhatsNew データ形式で保存するとフォームメールプロのデータを WhatsNew の機能を使って編集したり表示することができるようになります。
    詳しくは WhatsNew の説明をお読み下さい。 WhatsNew の頁へ
  • データに送信者の属性('HTTP_UA_OS'、'HTTP_USER_AGENT'、'REMOTE_ADDR'}、'REMOTE_HOST')を付加するかしないかを選択します。
  • デイリーの送信件数を管理者に送るか送らないかを選択します。
    送る場合は一日の最初の送信があった時に前日の送信件数を送ります。
  • 連続して送信ボタンがクリックされて重複して登録されるのを防ぐため、入力項目を指定して重複をチェックすることができます。
    チェックしたい場合は過去何人まで溯ってチェックするかを入力します。チェックしない場合は何も入力しません。
    チェック方法は次の3っの方法から選択します。
    • 確認画面を呼び出した時間+IDが一致したときに重複と判定(最終の送信画面から「送信ボタン」が何度も押された場合の連続送信に有効です。
    • 環境変数にセットされる$ENV{'REMOTE_ADDR'}が一致したときに重複と判定(携帯電話からの送信、またはプロキシーサーバー経由の場合などではチェックできません)
    • 項目のオプションパラメータ(dck)の付いた項目(複数指定可)に対してチェックします、もし指定がなければ「氏名」または「名前」が含まれる項目をチェック対象にします。
  • 連続送信があった時のエラーメッセージを指定します。(【http://】、【/】、【.】 から始まるHTMLを指定するとそのHTMLファイルにリンクします)
  • 管理者に送信されるメールのサブジェクトを指定します。
  • 管理者に送信されるメールには 【項目名】入力データ のフォーマットで項目数だけのテキストデータがメールで送られます。
    それ以外に各項目の入力値のみをカンマで区切ったCSVデータを一緒に送信する場合にチェックします。
    (これによりデータを選択しコピー&ペーストでExcelなどへデータを移すことができます)
  • 送られる項目名、入力値のフォーマットを指定します。
    何も指定しないと標準のフォーマットは 【項目名】入力値 になります。このフォーマット以外でデータを送信する場合に指定します。
    %kn%の位置に項目名が挿入されます、半角,で携帯用を続けて指定します。(例:【%kn%】,[%kn%])
  • データをファイルに保存する時各項目のセパレーターをタブにするかカンマにするかを選択します。
  • selectタイプやcheckboxタイプで複数の選択を可能にしている場合に各選択値を繋げるキャラクター(セパレーター)を指定します。
  • メールアドレスのチェックに受け付けられないテキストを指定することができます。(フリーメール等を指定します)
    メールアドレスに含まれていれば受け付けないテキストを半角の,で区切って小文字で指定します。
    例:yahoo,hotmail
  • メール配信機能の設定を行います。「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'}が一致したときに重複と判定(携帯電話からの送信、またはプロキシーサーバー経由の場合などではチェックできません)
    • 項目のオプションオプション(dck)の付いた項目(複数指定可)に対してチェックします、もし指定がなければ「氏名」または「名前」が含まれる項目をチェック対象にします。
    連続送信があった時のエラーメッセージを指定します。(【http://】、【/】、【.】 から始まるHTMLを指定するとそのHTMLファイルにリンクします)
  • 入力内容確認後に確認画面を印刷するための「印刷」ボタンをつけるかどうかを指定します。付けた場合は javascript を使用して印刷ダイアログを表示させます。
  • 入力内容確認後にデータを送信する際に押すボタンに表示する文言を指定します。
    携帯用がある場合は,で区切って続けて指定します。
  • 上記のボタンを押してデータ送信された後に表示される文言を指定します。(htmlタグを含めて記述することができます)
    http://で記述すると指定したURLを表示します。(http://で始まる行を(条件) の中に記述すれば該当した場合に指定したURLを表示します。記述方法は以下の「自動返信メール」と同じで置換キーワードの他に%print_button%も可)
    <html>で始めるとHTMLタグソース記述になります。(ソース記述のリンクで指定する相対パスの基点はフォームHTMLが存在するパスです)
    ソースHTMLファイルを指定する場合はサーバーのルートからHTMLファイルを指定します /〜
    <form>で始めるとフォームをベースに以下の記述を<!--ok_form-->または</form>の位置に挿入

    文言を項目の入力された値によって組み合わせて送信することができます。
    http://で始まる行を(条件) の中に記述すれば該当した場合に指定したURLを表示します
    記述方法は以下の「ありがとうメール」の記述と同じです
    記述中に以下の置換キーワードがあれば置き換えが実行されます
    %%項目名%%->項目名の入力値 %date%->送信時の日付 %time%->送信の時刻 %data%->フォームで送信されたデータ一覧
    %name%->名前 %mail%->メールアドレス %print_button%->プリントボタン
    TARGET を指定するときはURLに続き半角スペース、TARGET名と続けます

    参照する項目の名前を指定します。(ch)等のパラメータは省いて指定してください。
    文言を以下の様に構成して記述します
    文言の最初に挿入される
    文章【ありがとうなど】。
    (項目名=値1)
    指定した項目の値が値1と等しい時に
    送信される文章を記述します。
    (項目名!=値2)
    指定した項目の値が値2と等しくない時に
    送信される文章を記述します。
    (項目名)
    指定した項目の値に何か入力されていた時に
    送信される文章を記述します。
    ( )
    本文の最後に
    表示される文章。
    
    (項目名=値)+改行+文章は必要なだけ記述できます、条件が一致した文章が連結されて表示されます、また文章の改行は文章に反映されます。

入力に不備があった時のエラー表示画面を選択します。

  • 表形式、表形式(フォームをベースに)、携帯用、カスタムHTML、フォーム形式から選択します。
  • 表形式はテーブルタグの形式でプログラムで決まった形式で表示されます。
  • 表形式(フォームをベースに)は送信フォームをベースにして<form〜</form>間、またはに<!--ok_form-->の位置にテーブルタグの形式でプログラムで決まった形式で表示されます。
    (表示に関する設定は以下の「確認画面のテーブル色を指定」で指定できます。)
    携帯用は携帯電話用にデータをベタに表示します
    自分で自由にデザイン、フォーマットした形式で表示したい場合はカスタムHTMLファイルを選択します。
    入力したフォームのHTMLファイルと同じ形式で表示させる場合はフォーム形式を選択します。(この場合はこの画面で問題箇所の訂正をして再送信が可能です)

全ての項目が正しく入力された時の確認画面を指定します。

  • 表形式、携帯用、カスタムHTML、フォームをベースに、表示しません、から選択します。
    (説明は上記の入力に不備があった場合と同じです)
  • フォームをベースには送信フォームをベースにして<form〜</form>間、またはに<!--ok_form-->の位置にテーブルタグの形式でプログラムで決まった形式で表示されます。
    (表示に関する設定は以下の「確認画面のテーブル色を指定」で指定できます。)

    ◆カスタムHTMLを指定した場合は、どのカスタムHTMLを使用するか指定します。

    標準のディレクトリにあるファイルを指定する場合は選択ボックスから選択します。
    標準のディレクトリ以外にあるファイルを指定する場合はサーバーのルートからフルパスで指定します。
    ファイルをドキュメントルート以下から指定する場合は~/から指定します。

    カスタムHTMLの記述のルールについては下記を参照下さい。

  • カスタムHTMLを選択し、カスタムHTMLを指定しなかった場合は指定されているフォームHTMLを解析し自動でカスタムHTMLを作成します。(ファイル名はフォームのHTMLファイルと同じになります、またエラー用はファイル名_e.htmlとなります)
  • フォーム形式でエラー状況を表示する時の設定をします。

    フォーム形式でエラーを表示する時に全エラーを1行に表示するか1エラーを1行に表示するか、携帯用に表示するかを選択します

    フォーム形式のエラー内容を表示する場合のテンプレートを指定することができます。
    「前タグ:」「エラー繰返タグ:」「後タグ:」に分けて指定します。「前タグ:」+(「エラー繰返タグ:」xエラーの数)+「後タグ:」で出力されます。
    前タグ:には <!--er_title--> を含めることができ、エラータイトルが挿入されます。
    エラー繰返タグ:には同じく <!--erno--> の位置にエラー番号、<!--er_mes--> の位置にエラー内容が挿入されます。

    【プログラムのデフォルト前タグ】
    <p align=center><table border=0 cellspacing=0 cellpadding=2 style="font-size:12px;padding-left:7;padding-right:7;border-right:6 ridge #66FFCC;border-left:6 ridge #66FFCC;border-bottom: solid Red 2"><tr><th style="color:#FFFFFF;background-color:#FF0066;text-align:center;font-weight:600"><!--er_title--></th></tr><tr><td>
    【プログラムのデフォルトエラー繰返タグ、全エラーを1行に表示】
    <!--erno--> <!--er_name--><!--er_mes-->
    【プログラムのデフォルトエラー繰返タグ、1エラーを1行に表示】
    <!--erno_red--> <!--er_name--><!--er_mes--><br>
    【プログラムのデフォルト後タグ】
    </td></tr></table></p>

確認画面のテーブル色を指定します(指定なしは標準色)

以下の色を設定することができます。
■テーブル背景色 |■項目名背景色 |■項目名文字色 |■項目値、エラー背景色 |■項目値、エラー文字色
文字サイズを指定します。 (例:13px)
送信前のコメントに使用するスタイルシートを指定します。(例:font-size:13px;color:black)

集計に関する設定を行います。

自動集計を設定します。(サーバーのOSが Unix で fork 関数が使用できる場合に有効、管理者に確認してください)
チェックを入れると1日の最初に送信があった時に集計処理が起動して集計が行われます。
結果として書き出されるHTMLファイル名は以下で指定されたファイル名になります。

結果を棒グラフ表示する場合は「結果を棒グラフ化」にチェックを入れます。
回答無の棒の色を指定します。

各項目の棒のカラーは初期設定で以下のように指定されています。1〜20項目まででそれ以上の項目がある場合は1から繰り返し同じ色が使われます。



任意の色で表示したい場合はフォームの入力タグに gcolor オプションを付けて指定します。
例:<input type=radio name=aaaa value=1 gcolor=red>aaaa
例:<input type=checkbox name=aaaa value=aaa gcolor=red>aaa
例:<option value=aaaa gcolor=red>aaaa(select項目の場合)

日別件数一覧の結果を書き出す時のHTMLテンプレートファイルを指定します。

HTMLファイル名をサーバーのルートから指定します。(例:/homedocs/httpd/temp/test.html)
指定を省略すると標準のテンプレートフォルダー _checkhtml にある kensu.html が使われます。
結果HTMLファイルを書き出すときにテンプレートと同じディレクトリに書き出す場合は、「□ 結果HTMLファイルをテンプレート〜」にチェックを入れます。書き出されるHTMLファイルのファイル名は テンプレート_R.html になります。(例:テンプレートファイル temp.html ---> temp_R.html )

テンプレートには以下のタグが配置できそれぞれの項目が置換して挿入されます。

タグ置換される項目
<!--uyear-->集計年
<!--umonth-->集計月
<!--udate-->集計日
<!--uhour-->集計時
<!--uminute-->集計分
<!--cnt-->集計したデータ件数
<!--form_id-->集計対象のフォームID
<!--fromto-->指定した集計対象の範囲
<!--start-->集計結果の表

選択された選択肢の集計結果HTMLテンプレートファイルを指定します

注意事項は上記と同じです。
標準のファイル名は kekka.html です。

表示される画面の言語を指定します。(日本語、英語)

データ送信後にありがとうメールを自動的に送信する場合は「はい:□」にチェックを入れます。チェックを入れた場合はメール内容を指定します。
サブジェクト、送信元、送信者アドレス、メール本文を指定します。
メール本文には入力項目のうち、氏名、メールアドレス、その他項目、入力データの一覧と受付の年月日、時刻を差し込むことができます。

自動返信メール

  • ありがとうメールにファイルを添付したり、ありがとうメールをHTMLメールにする場合はパソコンにある添付ファイル、HTMLファイルを指定してアップロードします。
    6ファイルまで指定できますが足りないときは初期設定をもう一度実行して追加してください。
    ここでアップロードしただけでは添付されません、ファイルを添付させる場合は本文に file:ファイル名 行を記述します。
    また、HTMLメールを送信する場合は html:ファイル名 を記述します
    (条件) の中の文中に記述すれば該当した場合にのみ添付、送信されます

  • ありがとうメールの本文を項目の入力された値によって組み合わせて送信することができます。
    参照する項目の名前を指定します。(ch)等のパラメータは省いて指定してください。
    本文を以下の様に構成して記述します
    本文の最初に挿入される
    文章【挨拶、ありがとうなど】。
    (項目名=値1)
    指定した項目の値が値1と等しい時に
    送信される文章を記述します。
    file:sample.gif 指定した項目の値が値1と等しい時に添付します。
    (項目名!=値2)
    指定した項目の値が値2と等しくない時に
    送信される文章を記述します。
    (項目名)
    指定した項目の値に何か入力されていた時に
    送信される文章を記述します。
    ()
    本文の最後に
    挿入される文章【署名等】。
    
    (項目名=値)+改行+文章は必要なだけ記述できます、条件が一致した文章が連結されて送信されます、また文章の改行は本文に反映されます。

    本文、件名中に以下の置換キーワードがあれば置き換えが実行されます
    %%項目名%%->項目名の入力値 %date%->送信時の日付 %time%->送信の時刻 %data%->フォームで送信されたデータ
    %name%->名前 %mail%->メールアドレス %etc%->etc項目 %henkou%->変更処理を行った場合の表示テキスト

一世代前のファイルに復元します

  • 削除や移動を行った後に誤りに気がついた場合に一世代前のファイルに復元します。
  • 「復元」ボタンをクリックします。
  • 一世代前のファイルを保存したくない場合は初期設定ファイル form_set.pl で設定できます。
    # データファイルの1世代前を保存する $NO_old=0; しない $NO_old=1;
    $NO_old=0;

フォームHTMLファイルを編集します

  • 管理画面のメニューの「フォームを編集」で新規作成にチェックを入れ、登録名を指定します。登録名は半角の英数字で構成し漢字を使ってはいけません。また、拡張子を付けないで下さい。
    ここで指定した登録名にhtmlの拡張子がついたフォームHTMLが生成されます。

登録フォームを修正、削除

  • 管理者メニューの「フォーム編集」のうち希望する処理にチェックを入れます。
    「登録フォームは次画面で選択」 □:訂正 □:削除 □:HTMLソースを訂正
    「フォーム編集」ボタンをクリックすると以下の登録フォームを選択する画面になりますので編集するフォームを選択します。



  • 訂正処理では現在の設定が新規登録と同じフォーマットの画面で表示されますので訂正したい箇所を訂正します。
  • HTMLソースを訂正処理では生成後のHTMLファイルソースを編集することができます。
    ただしソースを編集後はフォーム編集で再訂正するとソースの変更は元に戻ってしまいますので注意が必要です。

テンプレートファイルを編集します

フォーム入力の後の確認画面や集計結果、フォーム送信HTMLのテンプレートを編集します。

テンプレートファイルを修正、削除

  • 「テンプレートを編集」ボタンをクリックします。
  • 以下のテンプレートファイルを選択する画面になりますので編集するテンプレートを選択して編集します。



  • check.html はフォーム入力後の確認画面のテンプレート、kekka.html は集計結果を表示する、kensu.html は件数を結果を表示するテンプレートです。

テンプレートファイルを自動作成します

テンプレートファイルを初期設定で指定されているフォームHTMLを解析して自動作成します
  • 作成されるエラー確認用、最終確認用HTMLファイルのファイル名を半角英数で指定します。拡張子を指定しない場合は .html が付きます。
  • 「テンプレートを作成」ボタンをクリックします。
  • テンプレートファイルが作成されます。
  • ここで作成されたテンプレートファイルを上記の編集で編集し独自のものに変更することができます。

管理者宛メールのテンプレートファイルを編集します

フォーム送信された後に送られる管理者宛メールのテンプレートを編集します。

管理者宛メールを修正、削除

  • 「管理者宛メールを編集」ボタンをクリックします。
  • 以下の画面になりますので編集します。



  • この管理者宛メールファイルを保存しない時は標準の管理者宛メールが送られます、標準のメール文以外で送りたい時、項目の入力値によってメール文、送付先の管理者アドレスを変えたい時に編集してください。
  • 管理者宛メールファイルを削除すると標準の管理者宛メールに戻ります。
  • 【入力値によってメール文を変える時は以下のように記述してください】
    挨拶、ありがとう等のメール文
    (項目名=入力された値1)
    [必要があれば送り先アドレス、件名等の指定]
    上記の項目の値が入力された値1に等しい時に送られる本文
    (項目名!=入力された値2)
    [必要があれば送り先アドレス、件名等の指定]
    上記の項目の値が入力された値2に等しくない時に送られる本文
    (項目名)
    上記の項目に何か入力があった時に送られる本文
    [以下設定したい数だけ繰り返し]
    ()
    署名等、後に続くメール文
  • 項目名の指定は()のオプションは省きます、また hidden 項目には項目名の先頭に # を付けます。
  • 条件選択は複数指定できます、条件が一致したメール本文を連結して送付します。
  • 送り先アドレス、件名等の指定は以下の様に記述します、組み合わせによって複数のアドレスが現れた時は最後のものが採用されます。
    subject:メールの件名を指定します
    email:送り先の管理者メールアドレスを指定します
    from:メールの送信元名を指定します
    [送り先アドレス、件名等、指定のない項目は初期設定の管理者メールデータが使われます]
  • ●記述例:
    共通のメール本文[前文、挨拶文等]
    (性別=女)
    subject:女性からの問い合わせ
    email:aaa@xxx.co.jp
    from:問い合わせフォーム
    女性、%name%様からの問い合わせの場合の
    管理者に送られるメールの本文です
    %data%
    (性別=男)
    subject:男性からの問い合わせ
    email:bbb@xxx.co.jp
    from:問い合わせフォーム
    男性、%name%様からの問い合わせの場合の
    管理者に送られるメールの本文です
    %data%
    [条件の繰り返し]
    ()
    共通のメール本文[後文、署名等]

    ●本文、件名中に以下の置換キーワードがあれば置き換えが実行されます
    %%項目名%%->項目名の入力値 %date%->送信時の日付 %time%->送信の時刻 %data%->フォームで送信されたデータ
    %name%->名前 %mail%->メールアドレス %etc%->etc項目

クッキーにホールドされているIDを解除します

  • クッキーにホールドされているIDを解除します。
  • 「解除」ボタンをクリックします。
  • クッキーによるID、パスワードの再入力を必要としない設定をしている場合、処理が終わった時やパソコンから永く離れる時はこの処理を行いクッキーにホールドされているIDを解除してください。

データをバックアップへ移動します

  • 指定した範囲のデータをバックアップフォルダーへ移動します。
  • 「バックアップへ移動」をクリックします。以下の画面が表示されます。



  • 移動先に作られるファイルの名前を指定します。
  • 移動するデータをフィルターによって選択します。その条件を指定します。
  • 条件にマッチするデータを表示するかマッチしないデータを表示するかを選択します。
    データの年月日の範囲を指定します。(本日からの相対+−日数を指定して「Fromにセット」「Toにセット」ボタンをクリックすると計算された年月日がセットされます)
    表示させるデータをフィルターによって選択します。その条件を指定します。
    (3つの条件を and or で組み合わせる事ができます。3つ以上の条件を指定したい場合は「初期設定」で10個まで増やすことができます。)
    and or は上から順番に評価されます。括弧付きで優先順位を指定することはできません。
  • 移動したいデータが操作しているパソコン上にある場合はそのファイルを選択して下さい。
    (データフォーマットの並びがサーバー内の送信フォームのデータと同じでないと使えません)
    データはセキュリティ上サーバーには永く蓄えないで定期的にダウンロードして下さい。そしてダウンロードしたファイルを表示させたい場合にこの機能をお使い下さい。
  • 「実行」ボタンをクリックします。
  • フィルターの条件項目は一度実行を行うと以前の条件項目が記憶されています。フィルターの条件項目を変えたい場合は「フィルター項目を選択し直して、条件変更」をクリックして実行させます。
  • 「実行」をクリックします。

指定した範囲のデータを削除します

  • 指定したファイルの該当する範囲データを削除します。 「削除」をクリックします。上の「バックアップへ移動」と同じような指定画面が表示されます。

    「バックアップへ移動」と同じように削除する条件を指定します。
  • 「実行」ボタンをクリックします。

バックアップファイルを削除します

  • 上記で指定したバックアップフォルダーにあるファイルを削除します。
    (バックアップのファイルが存在しない場合はこのメニューは表示されません)
  • 「バックアップファイルを削除」ボタンをクリックします。

メール配信用のテンプレートテキストをアップロードします。

  • (登録)アップロードするテンプレートテキストの種類(ヘッダー、電文、フッター)を選択します。
  • PCのファイルからアップロードするテキストを参照選択します。(2つまで指定可能です)
  • 「アップロード」ボタンをクリックします。
  • アップロードが完了するとメール配信画面でアップロードしたテンプレートが選択できるようになります。
  • 上書きでアップロードされますので訂正したい場合は同じファイル名でアップロードし直してください。
  • 削除したい場合は空の内容の同じファイル名でアップロードし直してください。
  • PCのファイル名は半角の英数字で付けておいてください。(全角のファイル名は使用できません)

設定プログラムファイルで実現できる機能&Tips

  • データのアップロードはファイルサイズで制限がかけられています。大きなサイズのデータをアップロードされる場合は cgi-lib.pl の以下の数字を変更して下さい。(初期値は 262,144バイトまで)

    cgi-lib.pl の22行目 $cgi_lib'maxdata = 262144; を希望するサイズに変更します。

    また、フォームメールプロの設定ファイルでも二重に送信できる最大のバイト数は制限がかけられています。大きなサイズのデータを送信される場合は calendar_set.pl の222行目 $MAX_byte=10000 を変更して下さい。(初期値は 10000バイトまで)

  • パスワード項目で許される文字を指定することができます。

    calendar_set.pl の181行目 $PASSOK='0-9A-Za-z-_'; を変更します。(範囲で指定できる時は−で結合します)

    
    # フォームメールプロの設定----------------
    # サーバーOSがUnixでsendmailが使用できる場合はパス&ファイル名(プロバイダーまたは管理者に尋ねてください)
    $sendmail='/usr/sbin/sendmail';
    
    
    # 管理者画面を呼び出すCGIファイル名(セキュリティ上からも必ず変更してください)
    $fcgi1='formmail_edit.cgi';
    # 編集処理CGIファイル名
    $fcgi='formmail_admin.cgi';
    # フォーム処理CGIファイル名(SSL送信を行う場合はこのCGIをhttps://からフルパスで指定しSSLで実行します、78行目も同様)
    $fcgi2='formmail_pro.cgi';
    
    # クライアントPCにダウンロードする時のファイルの拡張子
    $kaku1='txt';
    #  フォントサイズ,色
    $STYLE='style="font-size:13px;color:#333333';
    # データ送信先アドレスに以下のキャラクターが含まれていない場合はエラー表示(初期設定ファイルが書き換えられた場合への対応)例 ($mailchk='@www.xxx.co.jp';)
    # チェックしない場合は $mailchk='';
    $mailchk='';
    
    # フォーム形式でエラー表示する場合のタグを以下で指定します(初期設定でも設定できます)
    # 前表示タグ( <!--er_title--> にタイトルが挿入されます)
    $f_tag1='<p align=center><table border=0 cellspacing=0 cellpadding=2 style="font-size:80%;padding-left:7;padding-right:7;border-right:6 ridge #66FFCC;border-left:6 ridge #66FFCC;border-bottom: solid Red 2"><tr><th style="color:#FFFFFF;background-color:#FF0066;text-align:center;font-weight:600"><!--er_title--></th></tr><tr><td>';
    # 繰り返し表示タグ( <!--erno_色指定--> にエラー番号、<!--er_name-->に項目名、<!--er_mes--> にエラー内容が挿入されます)
    # ('1行に全てのエラーを表示する場合のタグ','1行1エラー表示タグ');
    @f_tag2=('<!--erno--> <!--er_name--><!--er_mes--> ','<!--erno--> <!--er_name--><!--er_mes--><br>');
    # 後ろ表示タグ
    $f_tag3='</td></tr></table></p>';
    
    #  入力エラーを表す記号、#no# にエラー番号が挿入 @err_sym=('日本語表記','英語表記','携帯表記');
    @err_sym=('<span style="color:red;font-size:12px;font-weight:700">※#no#</span>','<span style="color:red;font-size:12px;font-weight:700">*#no#</span>','<font color=red>※#no#</font>');
    
    # メッセージ @em_cont=('日本語表記','英語表記','携帯表記');
    @em_cont=('連続して送信することはできません','It cannot transmit continuously.','連続して送信できません');
    @em_cont1=('既に登録済みです','It has already registered.','既に登録済みです');
    @me_t1=('入力確認画面','Input check page','入力確認画面');
    @me_t2=('項目名','Field name','項目名');
    @me_t3=('入力(選択)内容','Input','入力値');
    @me_t4=('確認事項','Message','【エラー】');
    @me_t5=('メーラーメッセージ','Error message','エラーメッセージ');
    @me_t6=('戻る','Back','戻る');
    @me_back=('入力画面に戻る','Return to the input page','入力画面に戻る');
    @me_print=('この画面を印刷','Print this screen','');
    @me_reinput=('入力に不備があります、内容を確認しまちがいなく入力した後、再度送信して下さい','A defect is in an input. Please click the BACK button of a browser, return to the input page and reinput.','入力に不備があります、入力しなおした後、再度送信して下さい');
    @me_reinput1=('入力に不備があります、ブラウザの「戻る」で入力画面に戻り再入力して下さい。','A defect is in an input. Please click the BACK button of a browser, return to the input page and reinput.','入力に不備があります「戻る」ボタンで戻り再入力して下さい');
    @me_ok=('上記の入力内容でよろしければ、「送 信'.($SERV ? '(SSL)':'').'」をクリックしてください。','Please click a button [SEND] , if the contents of an input are right.','間違いがなければ「送信」をクリック');
    
    # パスワード項目で許される文字を指定します(範囲で指定できる時は−でつなぐ)
    $PASSOK='0-9A-Za-z-_';
    # 半角英数項目で英数以外に許されるキャラクター
    $HEISU="-_";
    # 集計処理にfork関数を使う $FORK='x';、使わない $FORK='';
    $FORK='x';
    
    # 書き込み可能ディレクトリのパーミッション
    $perms='777';
    
    # 半角、全角スペース、改行のみの入力は入力なしとみなす $SPC=1;、みなさない $SPC=0;
    $SPC=1;
    
    # 入力された改行コードを以下のキャラクターに変換して送信する($CR='' は改行コードを削除します)
    $CR='';
    
    # 全角のカタカナ、ひらがなのチェックを行うときに以下の文字を許す \x40=全角スペース、\x45=・、\x5B=ー、\x7C=− 
    $ZEN="\x40\x45\x5B\x7C";
    
    # 項目入力に以下のキャラクターが含まれている場合はエラーとして表示する($NP_char='|!';)
    $NP_char='';
    
    # 機種依存文字をwindows $NP_kis='win'; 、Mac $NP_kis='mac';、両方 $NP_kis='win/mac'; に対してチェックする
    $NP_kis='win/mac';
    
    # メールアドレスを厳密にチェックする場合は次の #$MAIL_CH= の#を削除してください
    #$MAIL_CH=q{(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\}.q{\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*(?:\\\\[^\x80-\xff][}.q{^\\\\\x80-\xff\n\015"]*)*")(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x}.q{80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-}.q{\xff\n\015"]*(?:\\\\[^\x80-\xff][^\\\\\x80-\xff\n\015"]*)*"))*@(?:[^(}.q{\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\0}.q{00-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*}.q{\])(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,}.q{;:".\\\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[}.q{^\x80-\xff])*\]))*};
    
    # フォームHTMLから送信される漢字コードを name=_check から判定せず固定したい場合は#を削除し($KJcode=)指定します (jcode.pl用)
    # 'sjis','euc','jis',''   ''は固定せず入力値から判定します
    #$KJcode='sjis';
    
    # 入力確認画面で入力値に2つ以上の半角スペースが続くときは に変換=1,変換しない=0
    $nbsp=0;
    
    # データファイルの1世代前を保存する $NO_old=0; しない $NO_old=1;
    $NO_old=0;
    
    # フォーム入力項目値をIDにする場合はその項目名を指定
    $ID_name='_id';
    
    # フォームで送信できる最大バイト数(全ての項目を合計して)
    $MAX_byte=50000;
    $Ascii='[\x00-\x7F]';
    $Sjis_twoBytes='[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';
    
    

予約フォームのHTMLを独自に作成する場合の注意点

  • フォームメールプロではフォームHTMLファイルの漢字コードをシフトJISで記述してください。
    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ファイルが存在するディレクトリからの相対パスで記述すればドキュメントルート / からのパスに自動補正します。
    自動補正を行いたくない場合は設定プログラムファイル calendar_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ソース内に同一ページ内へのリンクがあるとうまくリンクされませんので注意が必要です。
  • タグは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 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 method=post action="/cgi-bin/formmail/formmail_pro.cgi" 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

      もう一つの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は携帯専用となり「初期設定」での設定は携帯用として設定します。

      <form method="post" action="/cgi-bin/formmail/formmail_pro.cgi">
      <input type="hidden" name="_check" value="判定">
      <input type=hidden name="_imode" value="1">
      <input type="hidden" name="_id" value="test">

    • Tips 送られてくるデータを別のIDのデータファイルに保存する

      <form method="post" action="/cgi-bin/formmail/formmail_pro.cgi">
      <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用と携帯用の2つのフォームを使用したいがデータは1つにまとめて保存したい場合に有効です。
      ただし、データの並びは同じでなければなりません。もし携帯用の項目が少なければhiddenでダミー項目を置いてください。

    • Tips 送信するフォームHTMLファイルを初期設定で指定したファイル以外を使用する場合の設定(高度理解者用)

      <form method="post" action="/cgi-bin/formmail/formmail_pro.cgi">
      <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ファイルを指定することができます。
      フルパスで記述する場合は / で始め、ドキュメントルート以下からの指定は ~/ で始めます。
      必ず<input type="hidden" name="_id" value="test">より前で指定してください。

    • Tips 管理者宛メールのサブジェクトを「初期設定」以外を指定することができます。
      <input type="hidden" name="_subject" value="管理者宛メールのサブジェクト">

    • Tips 送信する管理者メールアドレスが複数指定されている場合に送信する管理者メールアドレスを指定する。
      初期設定の管理者メールアドレスが複数指定されている場合に管理者宛メール送信のアドレスを指定することができます。

      <input type="hidden" name="_kanriadd" value="2:3"> の value値 で指定します。
      この例の場合は複数指定されているアドレスの2番目と3番目のアドレスに送信します。
      上記の「送信するフォームHTMLファイルを初期設定で指定したファイル以外を使用する場合の設定」と組み合わせて使うと有効に機能します。

    • 入力チェックでエラーがあっても無視したい場合は
      <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">
      <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)">
    • クッキーを反映させて送信フォームに表示させるには form_display.cgi を以下のように呼び出すか、リンク先に指定します。
       http://www.xxxx.co.jp/cgi-bin/formmail/form_display.cgi?id:test

      http://www.xxxx.co.jp の部分とCGI呼び出しのパスはあなたのサーバーのURLに置き換えてください。
      (引数)id: の後にフォームのIDを指定します。携帯電話用フォームは +i を続けて指定します。

    フォームメールHTMLの入力項目を javascript で操作する場合の設定

    • フォームメールHTMLの入力項目を javascript で操作する場合、name="" に日本語名称を使用することができません。
      また、アルファベットの名前を使用しても名前に (チェックオプション) をつけるとうまく動作しません。
      そのため、 javascript で操作するinput項目には namex="日本語名称(オプション)" を追加して指定します。

      例:<input name="use_java" size="10" namex="日本語名称(ch)">
      この例では、javascript で操作するinput項目名に use_java を使い、表示名、データ名には日本語名称を使っています。また、この入力項目のチェックオプションは (ch) を指定しています。

    英語版フォームのHTMLを作成する場合の注意点。

    • フォームIDタグの前に以下の英語対応のタグを記述してください。 <input type=hidden name=_english value="on">
      <input type=hidden name=_id value="test">
    • 英語フォーム用にスーパバイザー管理者メニューからフォームを追加登録してください。

    CGIサーバーとWebサーバーが別々のマシンの場合の注意点

    • フォームメールプロはフォーム送信が行われるごとにフォームHTMLファイルを解析して処理します。
    • そのためCGIサーバーとWebサーバーが別々のマシンでCGIサーバーのHTMLファイルや画像がブラウザ上から呼び出せない場合は以下のような設定をしなければなりません。
    • Webサーバー側にCGIサーバー側に用意したフォームHTMLファイルと同一のものをアップロードし、来訪者にはそのページからフォーム項目への入力を行ってもらいます。
      CGIへのリンク(<form タグの記述は変更しなければいけない場合があります。
      また、リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスはドキュメントルート / から記述するかhttp:// から始まる絶対パスで記述してください。
      または、フォームHTMLファイルの<head>〜</head>の間に<base href="">を記述してリンクの基準となるURLを指定して下さい。

    確認用カスタムテンプレートHTMLファイルを作成します(初期設定で設定した場合のみ)

    • 初期設定で入力の確認をカスタムテンプレートHTMLファイルを使用して表示させる設定を行った場合はカスタムテンプレートHTMLファイルを作成します。
    • 確認用カスタムテンプレートには入力エラーが有ったときに使われるエラー用と、入力エラーがなかった場合に使われる確認用の2種類があります。
    • 初期設定でカスタムHTMLを選択しているにもかかわらずカスタムHTMLを指定していないとフォームのHTMLファイルを解析してカスタムHTMLを自動で作成してくれます。(ファイル名はフォームのHTMLファイルと同じになります、またエラー用はファイル名_e.htmlとなります)
    • 自動で作成されたカスタムHTMLを編集して使用することもできます。(マスター管理者メニューから編集できます)
    • フォームメールプロではHTMLファイルの漢字コードをシフト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ソース内に同一ページ内へのリンク記述があるとうまくリンクできませんので注意が必要です。(<a name="xxx">、<a href="yyy#xxx">)
    • 確認用は<form method=post action=""> 表示項目〜 submit ボタン </form> で構成します。
      実行するCGIを敢えて指定しフォームIDなどを固定で指定したい場合は、<form method=post action="/cgi-bin/formmail_pro.cgi">で action を指定しIDなどの hidden 項目を配置し、置換、特殊タグが現れるまでに <!--form--> を配置します。
    • カスタムHTMLファイル内で使用できる置換、特殊タグ
      項目名はオプションを省いたものを使います。例:お名前(ch) -->お名前

      フォーマット:<!--xxx {項目名}オプション yyy-->
      オプションには「B」「C」「*」「%」「=」「!=」が組み合わせて指定できます、「=」「!=」は単独使用のみ。
      「B」入力値がブランクの場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です。
      「C」入力値に3桁ごとのカンマが挿入されて表示されます。
      「*」この入力項目は表示のみでデータは送信されません。
      「%」この入力項目はデータは送信のみで表示されません。
      「&」項目が画像の場合に必ず指定します。

      hidden タイプを指定した場合は value= にありがとうメールに設定する置換タグをセットすることができます。
      hidden タイプは name= の最初を半角の # で始めます。
      例:<input type="hidden" name="#URL" value="%renban%"> %renban% の部分が送信時に連番に置き換わります。

      以下のオプションは送信データを管理者に送信のみ、または何も処理しない場合にのみ有効です。
      「=」この入力項目の入力値が yyy と等しい場合は以下の <!--{}--> タグまでのソースを出力します。等しくない場合は出力されません。
      「!=」この入力項目の入力値が yyy と等しくない場合は以下の <!--{}--> タグまでのソースを出力します。等しい場合は出力されません。
       例:<!--{購入します}=yes-->
          〜
          <!--{}-->
         この例では入力項目「購入します」の値が「yes」の場合は〜の部分のソースを出力し「yes」以外の場合は出力しません。

      <!--xxx {項目名}B yyy-->  項目名の入力値に置き換わります。(Bを付けると入力値がブランクの時 <br> に置き換わります

      <!--xxx E{項目名}B yyy-->  入力値にエラーがあった場合にエラー内容に置き換わります。(エラー用に使用します。Bを付けるとエラーが無かった場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です)

      <!--価格 {項目名}BC 円-->  項目名の入力値を3桁ごとのカンマを挿入し置き換わります。(入力値がブランクの場合に <br> に置き換わります、tableを使用している場合に罫線が表示されない対策に有効です)


      以上のタグで xxx を指定すると xxx が前に表示され、yyy を指定すると yyy が後ろに表示されます。

      <!--print_button-->  初期設定で確認画面を「印刷」に設定した時に、印刷ボタンに置き換わります。

      <!--form-->  確認画面を送信しないときに<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=submit 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 ディレクトリにアップロードして下さい。

    入力項目を指定します

    • 以下実際の入力項目を指定します、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)">
      エラーメッセージ ----> のいずれかを必ず入力してください

    <!--input check="AAA=BBB" name="aaa|bbb"-->=判断を伴う必須入力をチェックしたい時に指定します。

    • このパラメータは <form タグ〜 </form> タグの間の任意の行に配置します。(複数可)
    • check属性には項目名(パラメータの( )は省く)と項目名の値を半角の = または != で区切って指定します。
      上記の場合は項目名 AAA の値が BBB の時に name 属性で指定した項目の入力があったかをチェックします。
      = を != にすると項目名 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)は付けないでください。

    alr数字=同じ数字で指定した項目のうちに同じ入力があればエラーにします。

    • 番号は0から初めて下さい。
    • 以下の例では第一位と第二位の選択項目が同じならエラーになります。

      <select name="第一位(alr0)"><option value=aaa><option value=bbb></select>
      <select name="第二位(alr0)"><option value=aaa><option value=bbb></select>
      エラーメッセージ ----> 既に入力済みです

    <input type=hidden name="項目名" value="" case="項目名,値1,セット値1,値2,セット値2,値3,セット値3">
    name="項目名" の hidden 値に case で指定した入力項目名の値と比較して結果をセットします。

    • このパラメータは hidden 項目のみに指定でき case で指定した入力項目名よりも後に配置します。
    • 【例】コース:<select name="コース"><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 オプションを指定してください。

    add?=同じ名前の項目に?で連結します。

    • この項目は name が同じ項目に?で指定した文字で連結されて表示されます。
      ?は複数文字でも漢字でも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

    front?=この項目のデータの前に?で指定したキャラクターを挿入します。

    • ?は複数文字でも漢字でもOK
      メールに送られるときも連結されて送られます。
      以下の例の場合 予約希望日=2003/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?=この項目のデータの後に?で指定したキャラクターを挿入します。

    • ?は複数文字でも漢字でも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文字で入力してください)

    tel?=電話番号、ファックス番号、携帯番号など半角数字、区切り文字 ? をチェック

    • ?を省略すると - が区切り文字に設定されます。?に ! を指定すると数字のみの入力チェックになります。
    • 全角の数字、ー、−は半角に変換されます。
    • 以下は電話番号は半角数字で区切り文字が- 000-000-0000 の形式でチェック
      各パートの数字の桁数はチェックしませんが全体の数字の桁数は10桁もしくは11桁かチェックされます

      <input type="text" size="20" name="電話番号(tel-)">

      エラーメッセージ ----> 半角数字と区切り文字(-)で入力してください
      (rgオプションの数字に関するエラーメッセージ一覧が適用されます)

    zip?=郵便番号を3桁+区切り文字+4桁、半角数字をチェック

    • ?を省略すると - が区切り文字に設定されます。?に ! を指定すると数字のみの入力チェックになります。
    • 全角の数字、ー、−は半角に変換されます。
    • 以下は郵便番号は半角数字で区切り文字が- 000-0000 の形式でチェック
      <input type="text" size="20" name="郵便番号(zip-)">

      エラーメッセージ ----> 郵便番号桁数を確認(3桁-4桁)してください
      エラーメッセージ ----> 半角数字と区切り文字(-)で入力してください
      (rgオプションの数字に関するエラーメッセージ一覧が適用されます)

    no?=半角数字を区切り文字で2つに分けて入力、半角数字をチェック

    • ?を省略すると - が区切り文字に設定されます。?に ! を指定すると数字のみの入力チェックになります。
    • 全角の数字、ー、−は半角に変換されます。
    • 以下は番号コードを半角数字で区切り文字が- 0000-0000 の形式でチェック
      <input type="text" size="20" name="番号コード(no-)">

      エラーメッセージ ----> 半角数字と-で入力してください
      (数字の桁数はチェックされません、rgオプションの数字に関するエラーメッセージ一覧が適用されます)

    comma?=3桁ごとのカンマを入力後に挿入します。

    • ?を指定するとカンマを挿入した後、値の後ろに指定文字が追加されます。
    • 以下は 5555555 の入力が結果として 5,555,555円になります。送信されるデータは 5,555,555円です。
      <input type="text" size="20" name="金額(comma円)">

    commad?=3桁ごとのカンマを確認画面で挿入します。

    • ?を指定するとカンマを挿入した後、値の後ろに指定文字が追加されます。
    • 以下は 5555555 の入力が確認画面で 5,555,555円になります。送信されるデータは 5555555 です。
      <input type="text" size="20" name="金額(commad円)">

    blk=入力値がブランクの場合、確認画面で表示しません。

    • 以下は住所の入力値がブランクの場合、確認画面で項目表示しません。住所項目データの送信されるデータはブランクです。
      <input type="text" size="20" name="住所(blk)">

    blkd=入力値がブランクの場合、確認画面で表示せず、送信も行いません。

    • 以下は住所の入力値がブランクの場合、確認画面で項目表示しません。住所項目データは送信されません。
      <input type="text" size="20" name="住所(blkd)">

    date?=西暦年月日を4桁+区切り文字+2桁+区切り文字+2桁、半角数字をチェック

    • 主に年月日を3つのセレクトボックスで入力する場合に指定します。
    • ?を省略すると / が区切り文字に設定されます。
    • 月、日は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桁、半角数字をチェック

    • 主に年月日を1つの入力欄で入力する場合に指定します。
      年月日を3つのセレクトボックスで入力する場合は最後の日の入力項目に指定します。
    • ?を省略すると / が区切り文字に設定されます。
    • 月、日は1桁でも入力可能ですが、保存するときは0を埋めて2桁になります。
      date を DATE と大文字で指定すると 0000年00月00日の漢字入力となります(数字は半角)。
    • チェックする年月日の範囲を指定する場合は 範囲を半角の - で区切って指定します。(例:date/5d-90d)
      例の場合は本日から5日後から90日後以外が入力された場合はエラーとなります。
      (例:date/90d)範囲を1つしか指定しないと本日から90日後が範囲となります。
      マイナスの数字を指定すると本日から以前の日を指定することができます。(例:date/-5d-90d、5日前から90日後)
      d の代わりに m を指定すると月後の末日までを指定できます。(例:date/2m、本日から二ヶ月後の末日まで)

    hira=全角ひらがなの入力項目

    • 全角ひらがな以外の文字が入力されるとエラーメッセージ。
      初期設定では全角ひらがな以外に全角スペース、ー、−が入力可能です。(設定ファイル formmail_set.pl で指定)
      エラーメッセージ ----> 全角ひらがなで入力してください

    kata=全角カタカナの入力項目

    • 全角カタカナ以外の文字が入力されるとエラーメッセージ。
      初期設定では全角カタカナ以外に全角スペース、ー、−が入力可能です。(設定ファイル formmail_set.pl で指定)
      エラーメッセージ ----> 全角カタカナで入力してください

    asc=半角の入力項目

    • 半角以外の文字が入力されるとエラーメッセージ。
      エラーメッセージ ----> カタカナ以外の半角で入力してください

    zen=全角の入力項目

    • 全角以外の文字が入力されるとエラーメッセージ。
      エラーメッセージ ----> 全角で入力してください

    h_kata=半角カタカナが含まれているとエラー表示

    • 半角カタカナが含まれているとエラー表示。
      エラーメッセージ ----> 半角カタカナが含まれています

    hz_kata=半角カタカナを全角カタカナに変換します

    • 半角カタカナの文字が入力されると全角カタカナに変換します。

    kis=機種依存文字をチェックします

    • 機種依存文字をチェックします、送信されたパソコンがWindowsパソコン、Appleのどちらに、あるいは両方に対してチェックするかは設定ファイル formmail_set.pl で指定します。
      エラーメッセージ ----> 機種依存文字(???)が含まれています

    only:?=入力テキストの中に指定したキャラクター?以外のキャラクターがないかチェックします

    • 入力テキストの中に指定したキャラクター?以外のキャラクターがないかチェックします、許されるキャラクターを指定します。(複数指定ができます)
    • 例:only:A-Za-z#(半角のアルファベット、#以外が含まれていたらエラーメッセージ)
      範囲を指定する場合は-で結合します 数字は、0-9
      エラーメッセージ ----> 許されない文字( ?? )が含まれています

    dame:?=入力テキストの中に指定した許されないキャラクター?がないかチェックします

    • 入力テキストの中に指定した許されないキャラクターがないかチェックします、許されないキャラクターを指定します。(複数指定ができます)
    • 例:dame:|+(半角の |、+ が含まれていたらエラーメッセージ)
      範囲を指定する場合は-で結合します 数字は、0-9
      エラーメッセージ ----> 許されない文字( ?? )が含まれています
    • dameパラメーターで指定せず全ての項目に対してチェックしたい場合は設定ファイル formmail_set.pl で指定します。

    max?=複数選択項目の最大選択数を指定できます。

    • 複数選択項目の最大選択数を指定できます。 <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=このパラメータがついた項目で重複送信をチェック

    • エラーメッセージ ----> 連続して送信することはご遠慮願います(変更可)

    #:????????=入力エラー画面で項目名を 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)">
    • クッキーを反映させて送信フォームに表示させるには form_display.cgi を以下のように呼び出すか、以下をリンク先に指定します。
       http://www.xxxx.co.jp/cgi-bin/formmail/form_display.cgi?id:test

      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は既に登録されています';

    hidisp=このhidden項目名の入力値は確認画面に表示します(hidden項目のみに指定できます)

    • このhidden項目名の入力値は確認画面に表示します(hidden項目のみに指定できます)
    • hidden項目は指定がないと確認画面に表示されません、確認画面で表示し確認させたい場合に使用します。

    today=このhidden項目名の入力値には本日の日付をセットします(hidden項目のみに指定できます)

    • このhidden項目名の入力値には本日の日付をセットします(フォーマット:2008/05/01 hidden項目のみに指定できます)
      today+5 のように本日からの +- 日数を指定することもできます。

    その他のメッセージ一覧 (全て変更可能です)

      表示場面日本語英語
      入力確認画面入力確認画面Input check page
      入力確認画面項目名Field name
      入力確認画面入力(選択)内容Input
      入力確認画面確認事項Message
      システムエラーメーラーメッセージError message
      入力確認画面入力画面に戻るReturn to the input page
      入力確認画面
      フォーム形式
      入力に不備があります、内容を確認しまちがいなく入力した後、
      再度送信下さい
      A defect is in an input. Please transmit again
      after checking the contents and inputting rightly.
      入力確認画面
      表形式
      入力に不備があります、
      ブラウザの「戻る」で入力画面に戻り再入力して下さい。
      A defect is in an input. Please click
      the BACK button of a browser, return to the input page and reinput.
      全て正しい入力上記の入力内容でよろしければ、「送 信」
      をクリックしてください。
      Please click a button [SEND] ,
      if the contents of an input are right.

      変更する場合は設定ファイル、calendar_set.pl 155行から167行に記述されている上記のメッセージを変更して下さい。

    使用講習会、説明会をご指定の場所で開催させていただきます

     本サイトの CGI は高機能で何でもできますが、高機能のため使用方法を完全に理解するためには説明を受けた方が解りやすいと思います。京阪神奈の制作会社様には使用講習会、説明会をご指定の場所で開催させていただきます。最下段のメールアドレスまでお問い合わせ下さい。(場所が京阪神奈以外の場合は実費交通費が必要です)

    インストール、CGI制作の請け負い

     本サイトのプログラムは今までに CGI をインストールされた方なら簡単にインストールしていただけますが、設定も含めたインストール、サイト構築作業、CGI制作を請け負うことも可能です。お問い合わせページからご連絡ください。

    GOiGOi Projectではフォームメール、WhatsNew(汎用データベース)、ページ自動生成、ページ更新、空き情報・予約など、ホームページを管理、運営する上でどうしても必要になってくるCGIをプロ仕様で提供しています。全てのプログラムは汎用CGIとして開発されていてどのようなサイトでもご使用いただけます。また、CGI制作も承ります。