「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
メールフォーム作成用プラグイン(その5)
2007年1月27日
メールフォームプラグインにクロスサイトスクリプティングの脆弱性等の不具合が見つかりました。申し訳ありません。
こちらのエントリーをご参照の上、最新版にアップデートしてください。
2007年1月23日
メールフォームプラグインのバージョン1.20を公開しました。
解説も更新しましたので、こちらのエントリーをご参照ください。
メールフォーム作成用プラグインの5回目として、送信エラーテンプレートの作り方を解説します。
このテンプレートは、メールの送信でエラーがあったときに、エラーメッセージを表示するためのものです。
1.送信.エラーメッセージが表示される場合
メール送信エラーは、以下の場合に表示されます。
- 1.名前が入力されていないとき
- 2.メールアドレスが入力されていないとき
- 3.メールの本文が入力されていないとき
- 4.サーバーの不調等でメールの送信ができなかったとき
2.テンプレートモジュールの作成
送信エラーページのテンプレートは、テンプレートモジュールとして作ります。
送信完了ページと同様の手順でテンプレートモジュールを新規作成し、「mail_error」という名前をつけます。
3.エラーメッセージの表示
送信エラーページのテンプレートでは、「MTErrorMessage」というテンプレートタグを使うことができます。
このタグは、送信エラーメッセージを出力するものです。
複数のエラーがある場合(例えば、名前もメールアドレスも入力されていない場合)は、それらすべてのエラーメッセージが出力され、メッセージの間はbrタグで区切られます。
例えば、以下のようにすれば、エラーメッセージを表示することができます。
<p><$MTErrorMessage$></p>
4.再送信用フォームの表示
送信エラーになったときには、メールを再度送信できるように、メールフォームも表示するようにしておくと良いでしょう。
メール確認テンプレートと同じ手順で、再送信用のフォームを表示することができます。
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください
drive
はじめまして。説明にしたがってメールフォームの設定を行ったのですが、「確認」「送信」いずれの場合も下記のようなエラー画面となってしまいます。
" Template mail_error load error "
原因がお分かりでしたら教えていただけますでしょうか。
宜しくお願いいたします。
壱
>driveさん
こんにちは。プラグインご利用ありがとうございます。
そのエラーが出るのは、送信エラーになっているのに、そのメッセージを表示するテンプレート(mail_error)が見つからないときです。
また、送信エラーになるのは、名前/メールアドレス/本文のいずれかが入力されていないときか、何らかの原因で送信が上手くいかなかったときです。
mail_errorテンプレートが正しく作られているかどうかを確認してみてください。
drive
>壱さん
早速のご回答ありがとうございます。
(mail_error)が見つからない問題だということは把握しました。丸一日かけて何度もやりなおしてみましたが、テンプレート・モジュールの画面ではmail_errorは作成されております。
考えられるのはこのテンプレートファイルがうまくサーバーにアップされていない、或いは参照が間違っているということでしょうか?そう考えMovableTypeのディレクトリをくまなく探したのですが、mail_error.tmplというファイルが見つかりませんでした。 作成したテンプレート・モジュールはどのディレクトリに配置されるのでしょうか?
もしかしたら検討違いをしているのかもしれませんが、http://www.sixapart.com/movabletype/kb/installation/cant_load_error.html
などを見ながら原因を探っているところです。
念のため再度mail_errorテンプレートも作り直してみます。
ちなみにサーバーはXREAをMySQLを使用しております。
MTはUTF-8にしていますが、MySQLはUTF-8に変更ができないためEUC-JPです。
アドバイスがございましたら宜しくお願いします。
壱
>driveさん
こんにちは。
テンプレートモジュールを作成したのに読み込めないとなると、こちらでは原因を判断できないです。
ちなみに、MySQLで管理されているのであれば、テンプレートはMySQLのデータベースに格納されます。
drive
>壱さん
了解いたしました。
がんばって解決してみます。無事使えるようになりましたらご報告さしあげます。
ありがとうございました。
drive
>壱さん!
やりました!動きましたー!
MySQLみてもちゃんと、mail_errorテンプレートはあったので、もう打つ手なしだったのですが、
壱さんがPHP化されてるのを見て、
最後の頼み綱で
「コメント/検索関連テンプレートのPHP化」エントリーを参考にさせていただきながら見よう見まねでやっていったら・・・・
うれしいです(涙)
この機能を使ってブログを作るのはもう少し先になりますが、ほんとよかったです。
P.S.
mixiご招待ありがとうございました。
落ち着いたらそちらにも手を付けたいと思っています。
summer
初めまして、movable type初心者なのですが、このページをみてMail Formを作ってみたいと思い、メールフォーム作成用プラグイン(その5)まで実施しました。しかし、どうしたらそのフォームを表示できるのか分かりません。従って、テストもできないのです。もし、よろしかった教えていただけませんでしょうか。
壱
>summerさん
こんにちは。プラグインご利用ありがとうございます。
「http://BlogのURL/メールフォームのテンプレートの出力ファイル名」にアクセスすれば、メールフォームを表示することができます。
例えば、そちらのサイトの場合で、メールフォームのテンプレートの出力ファイル名を「mailform.html」にした場合だと、「http://dorekau.net/akagawa/mailform.html」にアクセスします。
なお、メールフォームプラグインは現在では1.20にバージョンアップしています。
1.11には脆弱性がありますので、1.20にバージョンアップしてください。
http://www.h-fj.com/mt_plugin/MailForm_1_20.zip
summer
早速のご返事ありがとうございました。
動作しました。
ありがたく、使用させていただきます。
m(__)m