######################################
#                                    #
#   flex mail                        #
#   設置の仕方とマニュアル           #
#                                    #
######################################

ver.1.0

特徴:
・すべてのページのデザインを自由に変えられます。
・入力項目を自由に設定することができます。
・画像をいくつでも添付できます。
・CAPTCHAで認証できます。(初期状態ではオフにしています。)
・確認画面を表示するか表示せずにすぐに送信するか選択できます。

========================================================================================
◇ 設置の仕方
========================================================================================

１.ダウンロードしたファイルを解凍してください。fmailフォルダができます。
   fmailフォルダのフォルダ名は自由に変更してもらって構いません。

２.mail.phpの上のほうに設定項目がありますので、まずは
  $mailto='xxx@xxx.xxx';
  ここのところにあなたのメールアドレスを設定してください。
  他の設定項目については後から設定できます。
  
３.fmailフォルダごとそのままサーバーにアップロードして、
   ブラウザでhttp://xxx.xxx.xxx/fmail/mail.phpと入力して(xxx.xxx.xxxの部分はあなたのサイトのURL)、
   入力フォームが表示されるか確認してください。
   そしてお名前などを入力して「内容を確認する」をクリックすると確認画面がでますので、
  「送信する」をクリックしてメールが届けば設置完了です。

========================================================================================
◇ 入力ページのカスタマイズ
========================================================================================

カスタマイズするのはform.htmlの
<form name="fo" method="POST" action="mail.php" enctype="multipart/form-data">
から
</form>
のformタグ内になります。

<input type="text" name="お名前">
<input type="text" name="タイトル" size="50">
<textarea name="本文" rows="10" cols="70"></textarea>

などのようにname="○○○"の○○○のところに設定した項目名が確認ページやメールの文などに

お名前: ******
タイトル: ******
本文: ******

のように

○○○: ******
のように表示されます。(******は入力したデータ)

ですので、
入力フォームを作って○○○の項目名をお好みの文字にして、
不要な入力フォームは削除して、
<input type="hidden" name="require" value="お名前,メールアドレス,本文">
の部分に入力必須の項目を設定するのがカスタマイズの基本になります。
1行テキスト、複数行テキスト、チェックボックス、ラジオボタン、
セレクトボックス、ファイル選択フォームの各フォーム部品がform.htmlに記入してありますので、
コピーして○○○の部分を変更するといいです。
項目名以外のsize="50"などのような部分は自由に変更できます。

<input type="hidden" name="require" value="お名前,メールアドレス,本文">
ここには入力必須にする項目名をカンマ区切りで設定します。
ここに設定したフォームが未入力の場合は入力ページに戻ってエラーが表示されます。
チェックボックス項目を必須にするときは、
<input type="hidden" name="require" value="お名前,メールアドレス,同盟[],本文">
のように[]も必要です。

<input type="hidden" name="for_name" value="お名前">
<input type="hidden" name="for_title" value="タイトル">
<input type="hidden" name="for_email" value="メールアドレス">
この部分には、入力フォームのうち、
名前とタイトルとメールアドレスを入力してもらう項目名を設定します。
相手に返信メールを送信する場合は
名前とタイトルとメールアドレスは必要なので
プログラムにどの入力フォームがそれらなのか指定する必要があるからです。

例えば、
<input type="text" name="氏名" size="50">
<input type="text" name="タイトル" size="50">
<input type="text" name="E-mail" size="50">
このような入力フォームを作成したときは、
<input type="hidden" name="for_name" value="氏名">
<input type="hidden" name="for_title" value="タイトル">
<input type="hidden" name="for_email" value="E-mail">
と設定します。

チェックボックスのように同じ項目名が並ぶときは、
PHPの特性上、項目名のあとに[]をつけなくてはいけません。
(例)
<input type="checkbox" name="購入の理由[]" value="口コミ">
<input type="checkbox" name="購入の理由[]" value="デザインがいいから">
<input type="checkbox" name="購入の理由[]" value="ネットでみたから">
口コミとデザインがいいからにチェックを入れた場合は、
購入の理由: 口コミ デザインがいいから
と表示されます。

日付のようにまとめたい項目がある場合は、
<select name="誕生日[]">
<option value="1950年">1950</option>
<option value="1951年">1951</option>
<option value="1952年">1952</option>
・
・
</select>年
<select name="誕生日[]">
<option value="1月">1</option>
<option value="2月">2</option>
・
・
</select>月
<select name="誕生日[]">
<option value="1日">1</option>
<option value="2日">2</option>
・
・
</select>日

とすると、

誕生日: 1950年 1月 1日
のように表示されます。

画像のフォームは、
<input type="file" name="画像1" size="30">
<input type="file" name="画像2" size="30">
<input type="file" name="画像3" size="30">
・
・
のフォームをつけます。
name="○○○"
の○○○の部分は
特に画像＋数字でなくても
name="ファイル1"
name="ファイル2"
や
name="ファイルA"
name="ファイルB"
のように自由に設定できます。
画像の表示位置はJavaScriptで自動で取得して、
form.htmlに記入している順番に並びます。

アンケートとして使用する場合の例として
form_enquet.htmlを入れてありますので参考にしてください。
mail.phpの設定の
$html_form='form.html';
ここを
$html_form='form_enquet.html';
このようにするとform_enquet.htmlが入力ページになります。
さらに
$mailsub='アンケートフォームより';
のように設定します。

ファイル選択のフォームがない場合は、
<form name="fo" method="POST" action="mail.php" enctype="multipart/form-data">
は
<form name="fo" method="POST" action="mail.php">
として
form.jsの一番下の
window.addEventListener('load',GetOrder);
は削除してもいいです。
不要な処理が減るので少しは軽くなると思います。

========================================================================================
◇ 確認ページのカスタマイズ
========================================================================================

confirm.htmlが確認ページのスキンになります。

<!--row-->と<!--/row-->の間が、入力された個数だけ
繰り返されて
<!--name-->の部分が項目名に、
<!--value-->の部分が入力データに変換されて表示されます。

========================================================================================
◇ PHPのバージョンについて
========================================================================================

PHP7と8で動作確認していますので
サーバーのPHPが7以上であれば問題なく動くと思いますが、
サーバーのPHPが5の場合がありますので
その場合はPHP7以上に変更できる場合は変更してください。
(できれば8が望ましいです)

========================================================================================
◇ CAPTCHAについて
========================================================================================

文字の入力(CAPTCHA)を行わないときは
mail.phpの
$capt='0';
ここは0にしてください。
その場合は
form.htmlの

<!--capt-->
<div>
	<div>文字の入力 <span class="hissu">必須</span></div>
	<div>
		<input type="hidden" id="key" name="key">
		<canvas id="captcha"></canvas>
		<input type="button" value="別の文字" id="refresh" onclick="Captcha()">
		<input type="text" name="ans" size="6"><br>表示されている文字を入力してください。
		<script src="js/md5.js"></script>
		<script src="js/captcha.js"></script>
	</div>
</div>
<!--/capt-->

この部分と
mail.phpの
170行の
if(!$capt){
	$skinline=preg_replace("/<!--capt-->.*?<!--\/capt-->/s","",$skinline,1);
}
この部分は削除してもいいです。
少しは軽くなると思います。

========================================================================================
◇ ファイルの説明
========================================================================================

fmail/
      |
      +--css/(スタイルシートファイルのディレクトリ)
      |      |
      |      +--style.css(スタイルシート)
      |
      +--js/(JavaScriptファイルのディレクトリ)
      |      |--captcha.js(CAPTCHA用)
      |      |--form.js(入力チェック用)
      |      +--md5.js(CAPTCHA用)
      |
      +--tmp/ (ファイルの一時保存ディレクトリ)
      |
      |-- confirm.html(確認ページ用スキン)
      |-- error.html(エラーページ用スキン)
      |-- form.html(入力フォーム用スキン)
      |-- form_enquet.html(アンケート用入力フォーム用の例)
      |-- mail.php(PHPスクリプト)
      +-- thanks.html(送信完了スキン)


========================================================================================
◇ 著作権表示について
========================================================================================

form.htmlの
<!--http://cgipal.com-->
ここのところが著作権表示になりますので、
この部分は削除してはいけません。
