フォームメール機能の使い方

2000/03/31

メール送信前に一度内容確認させたい場合

 一度入力された文字をいきなりメールするのではなく、記入したユーザにもう一度 確認とらせたい場合もあるでしょう。そのサンプルが、 サンプル2です。最初の送信の後、確認画面が出ます。

そのソースは、以下になります。
入力画面(sample2.html) 確認画面(confirm.html)
<html>
<head>
  <title>メールサンプルその2</title>
</head>
<body bgcolor=white>

<h2>メールサンプルその2</h2>

ここで入力された内容は次ページで確認できます。

<form method="post" action="/php-bin/mail.php3">
<input type=hidden name="BASEFILE" value="confirm.html">
<input type=hidden name="RETURL" value="thanks.html">

<h3>問い合わせ</h3>
名前:<input type=text name="USER">
<br>
電子メール:<input type=text name="SENDTO">
<br>
タイトル:<input type=text name="TITLE">
<br>
<select name="SEL">
  <option value="Select_1">選択1
  <option value="Select_2" selected>選択2
  <option value="Select_3">選択3
</select>
<br>
<input type=radio name="RADIO" value="YES">YES<br>
<input type=radio name="RADIO" value="NO" checked>NO<br>
<br>
<input type=checkbox name="CHECK1" checked>チェック1
<input type=checkbox name="CHECK2">チェック2
<br>
<textarea name="COMMENT" cols=60 rows=5>
</textarea>
<br>
<hr>
<input type="submit" value="SEND!">

</html>
</body>
</html>
<html>
<head>
  <title>送信メールの確認</title>
</head>
<body bgcolor=white>

<h2>送信メールの確認</h2>

<form method="post" action="/php-bin/mail.php3">
<input type=hidden name="BASEFILE" value="mail.txt">
<input type=hidden name="RETURL" value="thanks.html">

<h3>送信内容確認</h3>
名前:{USER:NOTNULL}<input type=hidden name="USER" value="{USER}">
<br>
電子メール:{SENDTO:EMAIL}<input type=hidden name="SENDTO" value="{SENDTO}">
<br>
タイトル:{TITLE}<input type=hidden name="TITLE" value="{TITLE}">
<br>
選択:{SEL}<input type=hidden name="SEL" value="{SEL}">
<br>
ラジオボタン:{RADIO}<input type=hidden name="RADIO" value="{RADIO}">
<br>
チェック1:{CHECK1}<input type=hidden name="CHECK1" value="{CHECK1}">
<br>
チェック2:{CHECK2}<input type=hidden name="CHECK2" value="{CHECK2}">
<br>
<h3>コメント</h3>
<PRE>{COMMENT}</PRE>
<input type=hidden name="COMMENT" value="{COMMENT}">
<br>
<hr>
{ERROR:IFNOT}<input type="submit" value="送信">
{ERROR:IF}ブラウザの戻るボタンを押して訂正してください。

</html>
</body>
</html>

 さて、このsample2.htmlが先ほどのsample1.htmlと何が違うか?というと、BASEFILE がconfirm.htmlになっただけなのです。すなわち、置換元ファイルがhtmlになると、 確認画面が出せるようになるのです。その場合、拡張子は(html,htm,php3)のいずれか になります。

 肝心の確認用ファイル(confirm.html)の書き方です。 まず、次にはメールを送るわけですからBASEFILEはmail.txtのようにメールファイル を指定します(mail.txtの内容は基本編で紹介したのと 同じものです)。 変数の置換(結果の表示)は、{○○}のように記載していくことでsample2.htmlの フォーム文で入力した内容を置換して表示させます。
 そして、「各フォームからの入力を<input type=hidden ...>と記載する」 ことがポイントです。これにより次の実際のメール置換処理にデータを渡すことが できるようになります。

 最後に{ERROR:IFNOT}という行と{ERROR:IF}という記載があります。 これは、もしもERRORがあったときにはIF側の行が表示され、なかった場合にはIFNOT 側が表示されるというものです。あれ、ERRORってsample2.htmlで定義していないぞ! とお思いになるでしょうが、これは内部で自動的に生成しているものですので、 気にせずにそのままお使いください。
基本確認HTML表示複数行対応FAQ