

|
送信フォームを何回かに分けて送信する場合の設定について 最初の送信フォーム (form1.html) <form method="post" action="/cgi-bin/formmail/formmail_pro.cgi"> <input type="hidden" name="_check" value="判定"> 2番目のフォームに続くことを指定します。(最後のフォームでは不要です、2から順番に付けていきます) どの送信フォームに続くかは「初期設定」の一番上の送信フォームを指定するところで送信フォームを順番に複数指定します。 「初期設定」での指定 form1.html,form2.html この例では最初の送信フォームは form1.html(この記述のフォーム) 2番目の送信フォームは form2.html になります。 標準のディレクトリ以外の場所のファイルを指定する場合はフルパスで指定します。 <input type="hidden" name="_continue" value="2"> <input type="hidden" name="_id" value="test"> <input type="text" name="名前(ch//name)" size=20> 〜 <input type="submit" value="次の入力へ"> 2番目の送信フォーム (form2.html) <form method="post" action="/cgi-bin/formmail/formmail_pro.cgi"> <input type="hidden" name="_check" value="判定"> <input type="hidden" name="_id" value="test"> 1番目の送信フォームの入力項目は全て2番目のフォームの中に埋め込んでください。( hidden項目で構いません、hidden項目で埋め込んだ場合はオプションに hidisp を付けておくと最終の確認画面では表示することができます) <input type="hidden" name="名前(name//hidisp)" value="" size=20> 〜 2番目の送信フォームでの入力項目 <input type="text" name="住所" size=20> 〜 <input type="submit" value="確認画面へ"> Tips 項目名(オプション( ) を省いた名前)を「%%」で囲って記述すると前の頁で入力した値を表示させることができます。 前の頁での入力値=%%名前%% ※分割送信を使う場合は「初期設定」の「入力に不備があった時のエラー表示画面」は必ず「フォーム形式」を選択してください。 |

# formmail_pro.cgi 設定ファイル(添付ファイル版 Copyright Shigeru Uchida 2007/05/30)
$ver='FormMail Pro Ver 5.08t';
# ---管理者画面を呼び出すCGIファイル名(セキュリティ上からも必ず変更してください)
$cgi1='formmail_edit.cgi';
# ---編集処理CGIファイル名
$cgi='formmail_admin.cgi';
# Webのどこからでも呼び出せるフォーム処理CGIファイル名
$cgi2='formmail_pro.cgi';
# メール送信エンジンの設定 sendmailのパス&ファイル名(プロバイダーまたは管理者に尋ねてください)
$sendmail='/usr/sbin/sendmail -t -oi';
# パスワードファイルのファイル名 パスワード認証をしない場合は $p_name='';
$p_name='.htpasswd';
# 下記26行目、作業用ディレクトリを作成するディレクトリを指定して下さい
# このスクリプトが存在するCGIディレクトリの直下に作成する場合は変更の必要はありません
# CGIディレクトリの直下以外に作成する場合はCGIが動作するサーバーのルートから指定してください
# 例:$dir_base='/htdocs/home/formmail/data/'; (最後の/は必ず付けてください)
# サーバーがウインドウズ系の場合、ディレクトリの区切りが \ になる場合がありますのでご注意ください
$dir_base='';
# 作業用ディレクトリ名を指定します(特に変更の必要はありません)
$sdir='form_data';
# データファイルのファイル名(セキュリティ上からも必ず変更してください)
$fd_name='formdata';
# 環境を自動判定しセット
# $docr_mk=2;(CGI以下のディレクトリにある画像、HTMLファイルがwebで参照できない)$docr_mk=1;(参照できる)
# $from_doc=''; をドキュメントルートから26行目作業用ディレクトリまでのパスを指定します
# 最後の/は必ず付けてください(例: $from_doc='/aaaa/bbbb/'; )
$docr_mk=1;
$from_doc='';
# formmail_edit.cgi?envp を実行させると環境変数を表示させることができます。envp のオプションを以下で指定します
# セキュリティ上から必ずあなた専用のオプションテキストを指定してください、不要の場合は $ENVP='';
$ENVP='envp';
# サーバーOS設定 自動認識しますが、できない場合は(Unix系) $OS=1; (Windows系)$OS=0;
$OS= $ENV{'PATH'}=~/\\/ ? 0:1;
# サーバーのドキュメント・ルート $ENV{'DOCUMENT_ROOT'} で取得できれば変更する必要はありません
# 例:$EN_DOC='/htdocs/home'; (最後の/は付けないで下さい)
$EN_DOC=$ENV{'DOCUMENT_ROOT'};
# プログラムのファイル名も含めた絶対パス情報 $ENV{'SCRIPT_FILENAME'} で取得できれば変更する必要はありません
# 例:$EN_SFN='/htdocs/home/cgi-bin/formmail/'; (最後の/は必ず付けてください)
$EN_SFN=$ENV{'SCRIPT_FILENAME'};
# cgiをフォームHTMLから呼び出すパス(ドキュメントルートから $ENV_SCR='/cgi-bin/formmail/';)
# $ENV{'SCRIPT_NAME'} で取得できれば変更する必要はありません (最後の/は必ず付けてください)
$EN_SCR= $ENV{'SCRIPT_NAME'}=~/(.*)(\\|\/)/ ? "$1$2":'';
# CGIが動作するサーバーのURL http:// 以下を指定します(WebサーバーとCGIサーバーが同一の場合は不要)
#(例:$host="www.xxx.co.jp"; $host="www.xxx.ne.jp/~mypage"; 最後の/は付けないでください
# 環境変数$ENV{'HTTP_HOST'}で取得できる場合は変更する必要はありません
$host=$ENV{'HTTP_HOST'};
# 保存ファイルの拡張子
$kaku='cgi';
#------jcode.plのパス&ファイル名
$jcpath='./jcode.pl';
#------cgi-lib.plのパス&ファイル名
$clpath='./cgi-lib.pl';
#------cgi-lib1.plのパス&ファイル名
$clpath1='./cgi-lib1.pl';
#------mimew.plのパス&ファイル名
$mmpath='./mimew.pl';
# メール配信処理でパソコンのデータを処理する $Mlist_sw=1;
$Mlist_sw=0;
# このアドレス以外からの更新を認めない
# 例 @REMOTE_ADDR=('210.xxx.xxx.xx1','210.xxx.xxx.xx2');
# $ENV{'REMOTE_ADDR'}がうまく取れない場合は@REMOTE_ADDR=();
@REMOTE_ADDR=();
# クライアントPCにダウンロードする時のファイルの拡張子
$kaku1='txt';
# フォントサイズ,色
$STYLE=' style="font-size:13px;color:#666666"';
#----- formmail_pro.cgi
# データ送信先アドレスに以下のキャラクターが含まれていない場合はエラー表示(初期設定ファイルが書き換えられた場合への対応)例 ($mailchk='@www.xxx.co.jp';)
# チェックしない場合は $mailchk='';
$mailchk='';
# フォーム形式でエラー表示する場合のタグを以下で指定します(初期設定でも設定できます)
# 前表示タグ( <!--er_title--> にタイトルが挿入されます)
$f_tag1='<center><table border=0 cellspacing=1 cellpadding=2 bgcolor=#999999 style="font-size:12px;color:#666666"><tr><td style="color:#FFFFFF;text-align:center"><!--er_title--></td></tr><tr bgcolor=#FFFFFF><td style="text-align:left">';
# 繰り返し表示タグ( <!--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></center>';
# テンプレートファイルのリンクファイルのパスを自動補正する $auto_sw=1; しない $auto_sw=0;
$auto_sw=1;
# クッキーの書き込みによってブラウザを終了するまでは管理者のパスワード入力を免除 $cook_sw=1; 免除しない $cook_sw=0;
$cook_sw=1;
# パスワード項目で許される文字を指定します(範囲で指定できる時は−で結合)
$PASSOK='0-9A-Za-z-_';
# 半角英数項目で英数以外に許されるキャラクター
$HEISU="-_";
# 書き込み可能ディレクトリのパーミッション
$perms='777';
# javaスクリプトの使用 使用不可->$java_sw=0; 使用許可->$java_sw=1;
$java_sw=1;
# スーパーバイザー,マスターとして処理する場合のプログラムの引数
$supermark='super';
$mastermark='master';
# 一括送信以外で集計処理にfork関数を使う $FORK='x';、使わない $FORK='';
# バイト数を指定するとデータファイルのサイズがそれより大きい場合にfork関数を使う
$FORK=1000000;
# メール配信時 何秒ごとに進捗状況を更新するかを指定
$Refsec=15;
# 半角、全角スペース、改行のみの入力は入力なしとみなす $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 から判定せず固定したい場合は#を削除し指定します (jcode.pl用)
# 'sjis','euc','jis','' ''は固定せず入力値から判定します
#$KJcode='sjis';
# 入力確認画面で入力値に2つ以上の半角スペースが続くときは に変換=1,変換しない=0
$nbsp=0;
# 携帯電話の横最大表示バイト数
$MAX_mob=16;
# データファイルの1世代前を保存する $NO_old=0; しない $NO_old=1;
$NO_old=0;
# フォームで送信できる最大バイト数(添付ファイルを含む全ての項目を合計して)
$MAX_byte=1048576;
# フォームで送信できる最大バイト数(添付ファイルを除く全ての項目を合計して)
$MAXD_byte=10000;
# フォーム入力項目値をIDにする場合はその項目名を指定 _ で始めてください
$ID_name='_id';
# 入力データのクッキー保存日数($cook_k=''; 2030年まで 、$cook=0; ブラウザ閉じるまで)
$cook_k='';
# ソート可能な最大文字数
$sortbyte=30;
#.htaccess コンフィグレーション機能の使えないサーバー $HTAC=1; 使えるサーバー $HTAC=0;
$HTAC=1;
#------以下は変更不可----------
$Ascii='[\x00-\x7F]';
$Sjis_twoBytes='[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';
$key='071k92q21q1k83158145f92m9191';
$KC= $OS ? "\n":"\x0D\x0A";
$deb_sw=1;
1;
| 名 称 | 種類 | PM | 読/書 | 変更 | 説 明 | 標準格納場所 |
|---|---|---|---|---|---|---|
| form_mail | ディレクトリ | 777 | 読/書 | 作業用、この下に各フォームIDのディレクトリが生成されます | 任意/ | |
| .htaccess | 設定ファイル | 644 | 読 | アクセス制限用、自動作成 | form_mail/ | |
| index.html | html | 644 | 読 | ディレクトリ表示防止用ダミーHTML 各ディレクトリにアップロード | 各ディレクトリ/ | |
| .htpasswd | テキスト | 777 | 読/書 | スーパバイザーパスワード保存ファイル(自動作成) | form_mail/ | |
| name.cgi | テキスト | 777 | 読/書 | フォーム名称テーブルファイル | form_mail/ | |
| ID | ディレクトリ | 777 | 読/書 | 管理するフォームのID フォームの数だけ生成されます | form_mail/ | |
| formdata.cgi | テキスト | 777 | 読/書 | データ保存ファイル(自動作成) 拡張子はcgiだがテキストファイル(表示防止の為) | form_mail/(ID)/ | |
| .htaccess | 設定ファイル | 644 | 読 | アクセス制限用、自動作成 | form_mail/(ID)/ | |
| formdata_dc.cgi | テキスト | 777 | 読/書 | データ保存サブファイル(自動作成) 拡張子はcgiだがテキストファイル(表示防止の為) | form_mail/(ID)/ | |
| formdata_tmail.cgi | テキスト | 777 | 読/書 | 自動返信メール雛形 拡張子はcgiだがテキストファイル(表示防止の為) | form_mail/(ID)/ | |
| formdata_LOC | 空ファイル | 777 | 読/書 | ファイルロック用 | form_mail/(ID)/ | |
| .htpasswd | テキスト | 777 | 読/書 | パスワード保存ファイル(自動作成) | form_mail/(ID)/ | |
| backup | ディレクトリ | 777 | 読/書 | バックアップファイルの保管場所 | form_mail/(ID)/backup/ | |
| .htaccess | 設定ファイル | 644 | 読 | アクセス制限用、自動作成 | form_mail/(ID)/ | |
| _formhtml | ディレクトリ | 777 | 読/書 | フォーム、確認HTMLファイルの保管場所 | form_mail/(ID)/ | |
| _checkhtml | ディレクトリ | 777 | 読/書 | 集計テンプレートHTMLファイルの保管場所 | form_mail/(ID)/ | |
| _temp | ディレクトリ | 777 | 読/書 | フォーム、確認用HTMLテンプレートの保管場所 | form_mail/(ID)/_formhtml | |
| formmail_set.pl | CGI | 644 | 読 | 要*1 | 設定プログラム | cgi-bin/ |
| formmail_pro.cgi | CGI | 755 | 読/実 | 要*1 | 送信プログラム | cgi-bin/ |
| formmail_admin.cgi | CGI | 755 | 読/実 | 要*1 | 編集プログラム | cgi-bin/ |
| formmail_edit.cgi | CGI | 755 | 読/実 | 要*1 | 管理者ページ呼び出しプログラム | cgi-bin/ |
| formmail_hs.cgi | CGI | 755 | 読/実 | 要*1 | cronで配信予約処理 | cgi-bin/ |
| gradis.cgi | CGI | 755 | 読/実 | 要*1 | 画像表示プログラム(添付ファイル版のみ) | cgi-bin/ |
| formmail_display.cgi | CGI | 755 | 読/実 | 要*1 | フォーム表示プログラム | cgi-bin/ |
| error.gif | CGI | 644 | 読 | エラー表示画像ファイル(添付ファイル版のみ) | cgi-bin/ | |
| jcode.pl | CGI | 644 | 読 | 漢字コード操作Perlモジュール | cgi-bin/ | |
| mimew.pl | CGI | 644 | 読 | MIME変換Perlモジュール | cgi-bin/ | |
| cgi-lib.pl | CGI | 644 | 読 | Perlモジュール | cgi-bin/ | |
| cgi-lib1.pl | CGI | 644 | 読 | Perlモジュール(添付ファイル版のみ) | cgi-bin/ | |
| option_help.html | HTML | 644 | 読 | オプション一覧表示用HTML | cgi-bin/ | |
| _menu_???.html | HTML | 644 | 読 | メニュー表示用HTML | cgi-bin/ | |
| check.html | HTML | 644 | 読 | サーバー環境チェック用HTML | cgi-bin/ | |
| goigoi250.gif.html | HTML | 644 | 読 | サーバー環境チェック用画像 | cgi-bin/ |
/cgi-bin/ (Perlが実行できるディレクトリ) 括弧内のパーミションは一般例です | | |-- formmail (755 rwxr-xr-x) or (777 rwxrwxrwx) | | | |-- index.html(ダミー) | |-- jcode.pl | |-- mimew.pl | |-- cgi-lib.pl | |-- cgi-lib1.pl (添付ファイル版のみに必要) | |-- setup.cgi(755) | |-- formmail_set.pl(755) | |-- formmail_pro.cgi(755) | |-- formmail_admin.cgi(755) | |-- formmail_edit.cgi(755) 任意の名前 | |-- gradis.cgi(755) (添付ファイル版のみに必要) | |-- formmail_hs.cgi (755) cronで配信予約処理を行う場合にのみ必要 | |-- formmail_display.cgi(755) (フォーム表示CGI、クッキー書き込み機能、受付制限機能のみに必要) | |-- name.cgi(644) フォームname対応ファイル | |-- option_help.html (644) オプション一覧表示用HTML | |-- check.html (644) サーバー環境チェック用HTML | |-- goigoi250.gif (644) サーバー環境チェック用画像 | | | |-- _menu_super.html (644) スーパーバイザーメニューテンプレートファイル | |-- _menu_admin.html (644) マスター管理者メニューテンプレートファイル | |-- _menu_master.html (644) 通常管理者メニューテンプレートファイル | |-- _menu_std.html (644) メニューテンプレートファイル | |-- error.gif (644) 添付ファイル版のみに必要 | | | |---- _help/ (644、ヘルプファイル用ディレクトリ) | | | |---- form_data/ (777、任意の名前) | | |-- index.html(ダミー) | | |-- .htpasswd (777、スーパーバイザーパスワードファイル、自動作成) | | |-- .htaccess (644、アクセス制限用、自動作成) | | |-- name.cgi (777、フォーム名称テーブルファイル) | | | | | |---- ID1/ (777、任意の名前) フォーム1に対応 | | | |-- .htpasswd (777、パスワードファイル、自動作成) | | | |-- .htaccess (644、アクセス制限用、自動作成) | | | |-- formdata.cgi (777、データ保存ファイル、自動作成) | | | |-- formdata_dc.cgi (777、データ保存ファイル、自動作成) | | | |-- formdata_tmail.cgi (777、自動返信メール雛形ファイル) | | | |-- formdata_kmail.cgi (777、管理者宛メール雛形ファイル) | | | |-- formdata_LOC (777) | | | |-- index.html(ダミー) | | | | | | | |--backup(777) バックアップ用ディレクトリ | | | |-- .htaccess (644、アクセス制限用、自動作成) | | | |--_formhtml(777) フォーム、確認HTML用ディレクトリ | | | | |-- form.dat ジェネレータ用データファイル | | | | |-- form.html フォームHTMLファイル | | | | |-- _temp(777) 確認HTMLテンプレート保存用ディレクトリ | | | | | |-- check.html 確認テンプレートHTMLファイル | | | | | |-- check_i.html i-Mode確認テンプレートHTMLファイル | | | | |-- _Ftemp(777) 送信フォームHTMLテンプレート保存用ディレクトリ | | | | | |-- temprate.html テンプレートHTMLファイル | | | | | |-- temprate_i.html 携帯用テンプレートHTMLファイル | | | | | | | | | |-- tenpu(777) 添付ファイル一時保存用ディレクトリ(添付版のみ) | | | | |-- tenpu_s(777) 添付ファイル保存用ディレクトリ(添付版のみ) | | | | | | | |--_checkhtml(777) 結果テンプレート用ディレクトリ | | | | |-- kekka.html 選択肢集計結果テンプレート | | | | |-- kekka_R.html 選択肢集計結果HTMLファイル | | | | |-- kensu.html 送信件数テンプレート | | | | |-- kensu_R.html 送信件数HTMLファイル | | | | | |---- ID2/ (777、任意名) フォーム2に対応 | | | | | | | | 以下ID1と同一構成 | | 【送信用フォームHTMLを任意に場所に置く場合】 /index.html/ (ドキュメントルート)) | |-- 任意のディレクトリ/ (777、任意名) | |-- フォームID/(フォームIDのディレクトリ名) | | |-- ????.html(777、送信用フォームHTML) | | |