PHP工房トップ

HOME > メールフォームプログラムの項目連結、文字列追加オプションの解説

メールフォームプログラムの項目連結、文字列追加オプションの解説

2014/12/12アップデート分からの機能になりますのでご注意下さい。
2014/12/12以降にダウンロードされたファイルのみ対象です。
以前のバージョンをお使いの方で、この機能を使用されたい場合には、あらためて最新版をダウンロード下さい。

※旧バージョンの場合に以下のような記述を行ってしまうと正常に動作しなくなります。

複数項目の連結

たとえば以下の様な入力欄があった場合、3つの項目を連結できます。
※連結するには特別なルールに沿って記述する必要がありますので十分にご注意下さい。間違えてしまうと送信に不具合が生じます。

電話番号: - -

この3つが連結され、確認画面、及び送信メールでは以下のように表示されます。
【 電話番号 】 03-1234-4567

実際のタグは以下のようになっています。

電話番号:<input size="5" type="text" name="電話番号[][-]" /> - <input size="7" type="text" name="電話番号[][-]" /> - <input size="7" type="text" name="電話番号[][]" />

ポイント

ポイントはname属性の値「電話番号[][-]」の箇所です。わかりにくいかもしれませんが、
[]が2つ後ろについており、2つ目の[]には連結文字列を記述しています。(この場合ハイフン)

実際は入力文字の末尾に連結文字列(この場合ハイフン)を追加するという意味になります。
そのため、入力欄3つ目の「電話番号[][]」は連結文字が書いていませんね。(03-1234-5678-となってしまうため)
また重要なことですが、連結する項目は1つ目の[]も必ず必要で、中身は必ず空にする必要があります。
要するには連結する項目のname属性の値は必ず以下のようにする必要があるということです。

name="○○[][ここに連結文字列を記述]"

※連結する項目は○○部分は同じにする必要があります。

記述ルールはこれだけになります。あとはプログラム側でいい感じにしてくれます。
逆にこの連結機能を使わない項目の場合には今まで通り
name="○○"
として下さい。後ろの[]は付けないで下さい。(チェックボックスを除く)

入力文字の後ろに文字を追加する

たとえば「人数」や「金額」入力箇所では数字が表示されるだけでしたが、後ろに「人」や「円」などが追加可能となりました。

金額:
この入力の後ろに「円」を付けたい場合、以下の様なタグを記述します。

金額:<input size="10" type="text" name="金額[][円]" />

とすれば、確認画面、送信メールでは
【 金額 】 5,000,000円
と表示されます。
※追加文字が「円」が含まれる場合でかつ半角数字のみの場合には自動で3桁毎にカンマが付きます。

要するに name属性の値の後ろに[][]が 付き、この2つ目の[]の中に追加したい文字を指定するだけです。
このあたりの記述ルールは実際には上記連結のルールと全く同じです。

記述例

以下にいくつか例を挙げますのでご参考下さい。
※ソースもコピペOKです。

電話番号(半角) - -
記述タグ

表示:【 電話番号 】 03-1111-2222
郵便番号(半角) -
記述タグ

表示:【 郵便番号 】 136-0071
金額
記述タグ

表示:【 金額 】 5,000円
人数
記述タグ

表示:【 人数 】 10人
日時(半角) 月 日 時 
記述タグ

表示:【 日時 】 10月11日12時50分

フォームパーツはinputタグに限りません。selectやradio、checkboxなどにも使用可能です。

決められたルールで書く必要はありますが、それほど難しいものでもないかと思います。
ただ、あくまでもオプション扱いなので必要に応じてということになります。

サンプルデモ

実際には送信されません。ソースコードをご参考下さい。必要に応じて自由にコピペ下さい。

必須設定などでname属性の値を指定する場合の注意点

ファイル内にも記述していますが、mail.phpの設定箇所でname属性の値を指定する箇所がありますが、
その場合、name属性の値が「name="○○[][]"」 の場合、必ず後ろの[]を取ったものを指定下さい。
要するに「name="日時[][月]"」の場合には「日時」のみ指定するということです。

お気づきの点やございましたら遠慮なくご連絡下さい

十分に動作確認は行っておりますが、リリース直後は未知の不具合が無いとも限りません。
お気づきの点やおかしな点がありましたらどんなことでも遠慮なくご連絡下さい。
お問い合わせはこちらからお願いします


PHPメールフォーム(無料)

PHPメールフォーム(有料)

新着情報・お知らせCMS

中古車・車両在庫CMS

よくある質問(FAQ)CMS

スタッフ紹介、プロフィールCMS

受付状況・待ち人数CMS

掲示板(BBS)管理画面付

写真ギャラリーCMS

投票・アンケートシステム

テロップ・ニュースティッカーCMS

営業日カレンダーCMS

カレンダー予約フォーム

リンク集ページCMS

アクセスカウンター

ダウンロードカウンター

その他

AIに仕事を奪われそうな人の集い
フォーム制作ならお任せください
メールフォーム自動テスト送信
PHPレスキュー
メールフォームの各種カスタマイズならお任せ下さい
業務効率化が可能なPHPオリジナルCMS制作します

役立つかも?なもの

豆知識や役立ち事など

PHPについて

各種情報