作りたかったメールフォームはこんなの↓。
- 入力フォームに色々入れてもらう
- 入れてもらった内容を確認してもらう
- OKだったらメールを送る
- という内容を、機能ごとに分けて表示用のPHPファイルに読み込む
という、シンプルなことをしたかったんですが、どっこい悩みました。
大元の考え方は、以前PHPの講座を受けたときに頭に入っていたんですが、実際作るとなるとおろおろ。
ハマったことがいっぱいありました。
- 機能ごとにPHPファイルを分けないと意味不明になる。
- 確認のページにはフォームが表示されないので、変数の受け渡しを忘れてた(送れるわけがない)。
- 一番初めに言語を設定していたのに、mb_send_mail関数を使うときに言語を再設定してしまい、文字化け(余計なお世話状態)。
- 日本語はマルチバイトだから! とmb_send_mail関数にこだわっていたら、mail関数で送れた。
- mail関数の引数を勝手に増やしていた(これまた送れるわけがない)。
- あとは変数名の間違いとか、配列を使わないといけない関数にひとつの変数を突っ込んでたりとか。
参考サイト(順不同・他多数)
- http://php.benscom.com/manual/ja/function.mail.php
- http://lolipop.jp/?mode=manual&state=hp&state2=cgi
- http://www.tagindex.com/html_tag/form/input_hidden.html
- http://hain.jp/index.php/tech-j/2007/02/13/p125
次の課題?
全項目に入力がなかったら「未入力の項目があるよ」みたいに一律にエラーを返す仕組みにしたんだけど、個別に「○○が入ってないよ」ってのは作ってない。
プラス、個別に正規表現をあててはいない。
プラス、データベースに各項目を保管するとなったらまた色々書かなきゃいけないぞ......
↑の課題もクリアできるように頑張ろう☆