トップページ  > ウェブ制作チュートリアル  > メール送信処理ページを作成する
【番外編】 第30章 PHPでメール送信フォームを作る

★メール送信処理ページを作成する

メール送信処理ページを作成する

広告

前回までに、入力チェック機能を完成させました。 今回からメール送信処理ページmailpost.phpを作成していきます。

メール送信実行ページ(mailpost.php)で行う処理の流れ

前回までに、フォーム入力ページ(index.php)、および、入力確認ページ(confirm.php)を作成しました。 ここからはフォーム入力ページから送信されたデータを受け取って、メール送信処理を実行するページ(mailpost.php)を作っていきます。

これから作成していくmailpost.phpは、フォームから入力された内容を受け取って、 それをメール本文に整形して、最終的にメール送信処理を実行するページです。 おおまかに下記のような流れで一連の処理をします。

  1. 入力確認ページから送信されたデータを受け取ります。
  2. 未入力のまま送信された項目が無いか未入力チェックをします。
  3. ユーザーがフォーム入力した内容を元にメールを作成します。
  4. メール送信処理を実行します。

データの受け取り・未入力チェック

テキストエディタのメニューから[ファイル]→[新規作成]と選択して、新しいファイルを作成します。 [ファイル]→[名前を付けて保存]を選択して、「mailpost.php」というファイル名で新規保存してください。 前回作成したconfirm.phpをコピーして、ファイル名を「mailpost.php」と書き換えても良いでしょう。

いま作成したmailpost.phpに下記の内容を記述してください。 前のページからのデータの受け取りなどの部分は入力確認ページ(confirm.php)のソース内容と共通していますから、 confirm.phpのソースをコピーして、部分的に内容を書き換えても良いでしょう。

サンプルソース:mailpost.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>メール送信完了|メール送信フォーム</title> </head> <body> <?php /******************************* データの受け取り *******************************/ $namae = $_POST["namae"]; //お名前 $mailaddress = $_POST["mailaddress"]; //メールアドレス $naiyou = $_POST["naiyou"]; //お問合せ内容 //危険な文字列を入力された場合にそのまま利用しない対策 $namae = htmlspecialchars($namae, ENT_QUOTES); $mailaddress = htmlspecialchars($mailaddress, ENT_QUOTES); $naiyou = htmlspecialchars($naiyou, ENT_QUOTES); /******************************* 未入力チェック *******************************/ $errmsg = ''; //エラーメッセージを空にしておく if ($namae == '') { $errmsg = $errmsg.'<p>お名前が入力されていません。</p>'; } if ($mailaddress == '') { $errmsg = $errmsg.'<p>メールアドレスが入力されていません。</p>'; } if ($naiyou == '') { $errmsg = $errmsg.'<p>お問合せ内容が入力されていません。</p>'; } /******************************* メール送信の実行 *******************************/ if ($errmsg != '') { //エラーメッセージが空ではない場合には、エラーメッセージを表示する echo $errmsg; //[前のページへ戻る]ボタンを表示する echo '<form method="post" action="index.php">'; echo '<input type="hidden" name="namae" value="'.$namae.'">'; echo '<input type="hidden" name="mailaddress" value="'.$mailaddress.'">'; echo '<input type="hidden" name="naiyou" value="'.$naiyou.'">'; echo '<input type="submit" name="backbtn" value="前のページへ戻る">'; echo '</form>'; } else { //エラーメッセージが空の場合には、メール送信処理を実行する } ?> </body> </html>

入力が完了したら、mailpost.phpを上書き保存してください。 上記ソースでは、前のデータの受け取って、未入力チェックをしています。 若干異なりますが、前回作成した入力確認ページ(confirm.php)とほぼ同じ内容となっています。

上記ソースをベースにして、メール送信処理の実行プログラムを作成していきます。

<前へ 目次へ 次へ>
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ