index » Scripts » phpContact » セットアップガイド

phpContact セットアップガイド

設定

設定項目(contact.php) 重要な設定箇所のみ抽出しています

自分のメールアドレス(フォームからのメールを受け取るアドレス)に書き換えます。

// メールを受け取るアドレスのリスト(自分のメールアドレス)
$mailadd = array(
'0' => array("webmaster@example.com", "ウェブマスター"),
);
// ヘッダーに入力するメール(CCが遅れない場合などに帰ってくるメールアドレス) 基本的にmailtoと一緒でいい
define('ERROR_EMAIL', "webmaster@example.com");

アップロード

以上の設定が完了したらサーバーにアップロードします。
パーミッションは、*.php、*.tplのファイルは「604」等にします。

動作チェック

全て完了したら、「http://phpContactを置いたURL/sample.htm」に適当に送信テストしてください。メールが届いていればOKです。

カスタマイズ

最低限必要なタグ

フォームを作成するには、最低限以下のタグが必要です。

<form action="contact.php" method="post">
<input type="hidden" name="cnf[cmd]" value="check" />
</form>

cnf[cmd]sendに書き換えると、確認画面を表示せずに送信します。
cnf[cmd]の値は必ずsendかcheckかどちらか設定しておかないと、送信されません。
メソッドは必ずPOSTでなければいけません。

data項目を増やす

項目を作成する上でのお約束として、項目名は必ず以下の型で書かなくてはいけません。

<input type="text" name="data[項目名(_オプション)][]" value="" />

data項目は最後に[](半角カッコ)が付いている事に注意してください。これは、1行テキストでも選択項目でもどの項目にも必ずつけなければいけません。

例えば、メールアドレスという項目を作る場合以下のように書きます。

<input type="text" name="data[メールアドレス][]" value="" />

この項目に、必須入力チェックをし、送信者メールアドレスとして設定したい場合以下のように書きます。

<input type="text" name="data[メールアドレス_ckIN_setMAIL][]" value="" />

ラベルオプション

フォームの項目名に日本語を使いたくないけど、確認画面や送信メールの項目名には日本語を使いたいと言う場合ラベルオプションを使用してください。

<input type="text" name="data[hogehoge][]" value="" />
<input type="text" name="datacnf[LABEL][hogehoge]" value="ほげほげ" />

ラベルが付いていない項目は、hogehoge部分が自動的に項目名になるので、絶対ラベルをつける必要があるわけではありません。
書く場所は、何処でも構いません。

選択数制限オプション

SelectやCheckbox等複数選択が可能な項目には、選択数制限をする事ができます。

<input type="hidden" name="datacnf[SELECT][項目名]" value="min,max" />

datacnf[SELECT][]は設定用です。ここでは特に変える必要はありません。

項目名,min,max の部分は項目名に制限をかけたい項目名の名前、最小、最大を「,」で区切って書きます。例えばカテゴリーの選択数を1つ以上5つ以内にしたい場合は以下のように書きます。

<input type="hidden" name="datacnf[SELECT][カテゴリー]" value="1,5" />

書く場所は、何処でも構いません。

項目名にラベルが付いている場合は、ラベル名ではなく項目名を指定してください。

<input type="checkbox" name="data[category][]" value="項目1" />
<input type="checkbox" name="data[category][]" value="項目2" />
<input type="checkbox" name="data[category][]" value="項目3" />
<input type="text" name="datacnf[LABEL][category]" value="カテゴリー" />
<input type="hidden" name="datacnf[SELECT][category]" value="1,2" /> ←
<input type="hidden" name="datacnf[SELECT][カテゴリー]" value="1,2" /> ←

見出しの挿入

<input type="hidden" name="data[識別文字_setTEXT][]" value="見出し文字" />

識別文字は他とダブらないように、「見出し1」「見出し2」などしてください。 書いた位置に、見出しが表示されます。

罫線の挿入

<input type="hidden" name="data[識別文字_setHR][]" />

識別文字は他とダブらないように、「罫線1」「罫線2」などしてください。 書いた位置に罫線が表示されます。

HTML側で記述可能なオプション一覧

入力チェック設定
_ckIN 必須項目
_ckALPHA 半角英数字型チェック
_ckNUM 数字型チェック
_ckZIP 郵便番号型チェック
_ckPHONE 電話番号型チェック
_ckURL URL型チェック
_ckMAIL メールアドレス型チェック
メール設定
_setSUB メールタイトル
_setNAME 送信者名
_setMAIL 送信者メールアドレス&コピーメール送信先
同時にメールアドレス型チェックも行われます
特殊設定
_setBR 入力テキスト改行
_setTEXT 見出し挿入
_setHR 罫線挿入
datacnf
SELECT 選択数の設定/ name="datacnf[SELECT][項目名]" value="min,max"
LABEL 項目名にラベルを設定/ name="datacnf[LABEL][項目名]" value="ラベル名"
cnf
mailto 送信先メールアドレス番号
設定されていなければ一番上(0)のアドレスへ送信
mcopy _setMAILで入力されたメールアドレスへコピーメールを送信

テクニック: 確認画面を表示するか送信者が選択できるようにする

<input type="hidden" name="cnf[cmd]" value="send" />
<input type="checkbox" name="cnf[cmd]" value="check" /> 確認画面を表示

下に書いたほうが優先されるので、チェックボックスがチェックされていればcnf[cmd]は「check」となります。

テクニック: コピーメールの送信を送信者が選択できるようにする

<input type="checkbox" name="cnf[mcopy]" value="1" /> コピーメールを受け取る

スクリプト本体の設定でコピーメールを許可している必要があります。

テクニック: 送信先メールアドレスを送信者が選択できるようにする

まず、contact.phpの設定部分で以下のように選択できるメールアドレスを設定してください。

$mailadd = array(
'0' => 'default@example.com',
'1' => 'address1@example.com',
'2' => 'address2@example.com', <-最後カンマを忘れずに!
);

HTMLの方で送信先を選択する項目を作成します。

<select name="cnf[mailto]">
<option value="0">デフォルトのアドレスへ送信</option>
<option value="1">メールアドレス1へ送信</option>
<option value="2">メールアドレス2へ送信</option>
</select>

実際は以下のようになります。