なぜか再びメールフォーム

仕事で簡単なPHPコードを書いてる今日この頃・・・。

自己流すぎて他の人がついてこない(笑)

 

先日、ホームページ作ってる奴に

「お問合せフォームを送信用のPHPファイル1つで俺にでも設置出来る奴って作れる?」

って言ってきた。

イメージはこういう感じらしい(^^;)

www.php-factory.net

うむ、なるほど。

確かにオイラが以前に作ったのはフォームパーツから入力フォームを作るタイプだったので1ファイルではなく設定ファイルが結構多かった。

個人的には簡易だけどスパム投稿への対策もしてあって気に入ってるのだけど設置するのに設定ファイルを修正するって事がデザイナとかHTMLコーダの人には敷居が高いそうな。

という事で、送信用のフォームはHTMLで作成して、渡されたデータを元にメールを作成して送信するコードを書いてみた。

 

まず、1ファイルにするにあたって個人的に思ったのがPHPとHTMLを出来るだけ分けて書く。

なので、HTMLやメール本文のテンプレートはヒアドキュメントで変数に入れる事にした。

そこで知ったのはヒアドキュメント内でも変数が展開できるって事。

 

例えばこんな感じ

  $NAME = "おなまえ";

  $MAILBODY = <<< EOF

  {$NAME} 様

  EOF;

 

しかも、classも呼び出せるので配列内のデータをヒアドキュメント内に繰り返して挿入する事が出来る。

  class webform {

    function deploy($DATA) {

      $RET = "";

      foreach ( $DATA as $VAL ) {

        $RET $VAL."\n";

      }

    }

  }

  $DATA = array("おなまえ","ねんれい","ないよう");

  $MF = new webform();

  $MAILBODY = <<< EOF

  {$MF->deploy($DATA)}

  EOF;

てな感じでも使える。

 

そんな訳でとりあえず1ファイルでフォームからメールを送信するコードが完成。

確認画面も作ろうと思えば出来たんだけど、一晩で作ったので眠くて諦めた(--;)

一応、必須項目の設定や簡単なバリデーションも出来る。

あっ、例のJavaScriptでセキュリティコード渡す機能もちゃんと組み込んでますよwww

詳しい事はこちら・・・あまりこちらでも詳しくはないかwww

miyako.hatenablog.jp

 

欲しい訳じゃない・・・

パーフェクトPHP

パーフェクトPHP