PHPメールフォームのサンプルスクリプト

PHPの開発環境でプログラムからメールを送信できるかチェックするために作成した、ごく簡単なメールフォームのサンプルスクリプト(プログラム)です。

mailmform.phpを実行すると入力フォームが表示され。送信ボタンを押す(クリック)すると入力した内容がメール送信されます。

<?php
//------------------------------------------------------------------------------
//    mailform.php - sample mailform php script
//------------------------------------------------------------------------------

mb_language("Japanese");
mb_internal_encoding("UTF-8");

define("MAILTO", "support@59bbs.org");

$proc = isset($_POST['proc']) ? $_POST['proc'] : '';
//echo $proc; // for debug
if ($proc == 'send') {
    _send();
}
else {
    _input();
}

// 初期表示
function _input() {
    $formdata = array();
    $formdata['subject'] = '';
    $formdata['name'] = '';
    $formdata['from'] = '';
    $formdata['body'] = '';
    _input_form($formdata, '');
}

// 入力フォーム表示
function _input_form($formdata, $message) {

    // XSS対策
    $formdata['subject'] = htmlspecialchars($formdata['subject'], ENT_QUOTES);
    $formdata['name'] = htmlspecialchars($formdata['name'], ENT_QUOTES);
    $formdata['from'] = htmlspecialchars($formdata['from'], ENT_QUOTES);
    $formdata['body'] = htmlspecialchars($formdata['body'], ENT_QUOTES);

echo <<<EOF
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>サンプルメールフォーム</title>
</head>
<body>
<h2>サンプルメールフォーム</h2>
<p>$message</p>
<form action="mailform.php" method="post">
<input type="hidden" name="proc" value="send">
件名:<br />
<input type="text" name="subject" size="50" value="${formdata['subject']}" /><br />
名前:<br />
<input type="text" name="name" size="50" value="${formdata['name']}" /><br />
メールアドレス:<br />
<input type="text" name="from" size="50" value="${formdata['from']}" /><br />
本文:<br />
<textarea name="body" cols="50" rows="10">${formdata['body']}</textarea><br />
<br />
<input type="submit" value="送信" />
</form>
</body>
</html>
EOF;

    exit();
}

// メール送信
function _send() {

    // パラメータ取得
    $formdata = array();
    $formdata['subject'] = isset($_POST['subject']) ? $_POST['subject'] : '';
    $formdata['name'] = isset($_POST['name']) ? $_POST['name'] : '';
    $formdata['from'] = isset($_POST['from']) ? $_POST['from'] : '';
    $formdata['body'] = isset($_POST['body']) ? $_POST['body'] : '';

    // 入力チェック
    if ($formdata['subject'] == '') {
        _input_form($formdata, '件名を入力してください');
    }
    if ($formdata['name'] == '') {
        _input_form($formdata, '名前を入力してください');
    }
    if ($formdata['from'] == '') {
        _input_form($formdata, 'メールアドレスを入力してください');
    }
    else {
        if (!preg_match('/^[-+\\w]+(\\.[-+\\w]+)*@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]{2,6}$/i', $formdata['from'])) {
            _input_form($formdata, '正しいメールアドレスを入力してください');
        }
    }
    if ($formdata['body'] == '') {
        _input_form($formdata, '本文を入力してください');
    }

    // 送信
    $header = "From: " . mb_encode_mimeheader($formdata['name']) . ' <' . $formdata['from'. '>';
    $result = mb_send_mail(MAILTO$formdata['subject'], $formdata['body'], $header);
    if ($result{
        _input_form($formdata'メールを送信しました');
    }
    else {
        _input_form($formdata'メール送信に失敗しました');
    }
}

?>
[3147] Posted by kagahiro at 2012/06/13 16:38:29
オープン | 1 point | Link (7) | Trackback (0) | Comment (1)

キーワード
サンプルプログラム PHP メールフォーム

語句検索のホームページ


PHPメールフォームのサンプルスクリプト 関連リンク

[Perl]メールフォームCGIのサンプルプログラム
オンラインショップの商品が注文された際に顧客に注文内容の確認メールを送信したり、掲示板にコメントが書き込まれた際に管理人宛てに通知メールを送信したりするには、フォームで入力された項目の内容をCGIからメー...
無料(オープンソース)のメールフォームCGI「Mailform Std 1.0」
オープンソースの無料メールフォームCGI「Mailform Std 1.0」を公開しました。中身は以前公開していた無料メールフォームCGIに少し機能を追加したもので、機能的には今のところシンプルな「問い合わせフォーム」です...
掲示板やチャットなどのフリーPHPスクリプトの配布サイト
掲示板やチャットなどのフリーPHPスクリプトを配布しているサイトやPHPを使った掲示板の作り方を解説しているサイト。PHP365.com - PHPスクリプト配布サイト -掲示板や自動リンク集、メールフォームなど。P-Web掲示板...
PHP、MySQLで動くオープンソース掲示板ソフト
当サイト(掲示板 59bbs.org)で開発・配布している「59bbs」は、Perl/CGI環境で動作するオープンソースの掲示板ソフトですが、競合調査のためPHP、MySQLで動く他のオープンソース掲示板ソフトにどんなものがあるのか...
XAMPP(エグザンプ)とは
XAMPP(エグザンプ)とは、Linux、Windows、Mac OS X、SolarisにApache、MySQL、PHP、Perlを一括してインストールできる無償のディストリビューションで、非営利組織プロジェクトApache Friendsが開発、配布している...
PHPでMySQLに接続して、SELECTでデータを取得するサンプルプログラム
PHPのプログラムからMySQLに接続し、SELECTでデータを取得する処理のサンプルプログラムです。あらかじめPHPMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「users」を作成、3...
「ハッスルサーバー」月額208円でPHP、MySQLが使える格安レンタルサーバー
ネットエイドの格安レンタルサーバー「ハッスルサーバー」は、月額208円と格安料金ながら、容量1.5Gで、perl、ruby、pythonのCGIだけでなく、PHPやMySQL、定期的に処理を自動的実行するcronも利用できます。また、人...

PHPメールフォームのサンプルスクリプト トラックバック

トラックバックURL :


PHPメールフォームのサンプルスクリプトへのコメント

1 Posted by クリスチャンルブダン at 2013/07/21 18:25:27
PHPメールフォームのサンプルスクリプト

詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前のスレッド      次のスレッド >

アクセスランキング

今日のアクセスランキング(上位10件)

  1. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (4 PV)
  2. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (2 PV)
  3. 小林興起元衆議院議員がタレントの杉本彩さんにキスを迫る (2 PV)
  4. ホッシュジエンの国内ニュース解説 (1 PV)
  5. 掲示板フリーソフト - 無料で利用できる掲示板CGI (1 PV)
  6. 自称「紀州のドンファン」和歌山の資産家「野崎幸助」氏が覚せい剤で不審死、警察は殺人容疑で捜査 (1 PV)
  7. 秋葉原通り魔事件、犯人は暴力団員を名乗る「加藤智大(25)」 (1 PV)
  8. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (1 PV)
  9. [Twitter]ツイッター検索のまとめ (1 PV)
  10. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (1 PV)

今月のアクセスランキング(上位10件)

  1. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (91 PV)
  2. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (47 PV)
  3. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (44 PV)
  4. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (34 PV)
  5. 佐野研二郎氏の妻「実際にデザインを担当しているのは数人の部下。佐野は監修しただけ」パクリ疑惑を完全否定 (33 PV)
  6. 自称「紀州のドンファン」和歌山の資産家「野崎幸助」氏が覚せい剤で不審死、警察は殺人容疑で捜査 (28 PV)
  7. [B-CAS]平成の龍馬(多田光宏)逮捕 (27 PV)
  8. ホッシュジエンの国内ニュース解説 (26 PV)
  9. [Twitter]ツイッター検索のまとめ (26 PV)
  10. 2chまとめサイト(ブログ)検索 (26 PV)

アクセス統計

ディレクトリ

関連サイト