ホームページ更新:問い合わせフォーム作りました。

18時間ぐらいねちゃったよ!
育つのは、お腹・・・。


今回は、「お問い合わせ・メールフォーム」を作りました。

簡単にこんなのできるだろー。とおもいきや、結構難航しました。
メールのアドオン使えばいいだろうけど、知識無かったので、簡単にメールの送信が可能なphpの「mb_send_mail」を使いました。
ただこの方法でメールを送ろうとしたら、日本語がどうしても文字化けして修正できない。

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

↑も効かない・・・。
解決策はこのソースコードになりました。

         $message = "お名前・キャラ名:".$charactor.$br. "メールアドレス:".$emails.$br." 要望:".$request.$br." 内容:".$messages.$br."IPアドレス".$_SERVER['REMOTE_ADDR'];
    $message = mb_convert_encoding($message, "UTF-8", "auto"); 

mb_convert_encodingで文字コードを変換できるみたいなのでこれに文字列の文字コードを変換にかけました。
後ろの文字コードが変換元、ひとつ手前が変換後の文字コードです。

ただし日本語は、色々思いつく限りの文字コードを変換対象として試してみましたが、どれも文字化け。
んで、PHPマニュアルの

/* mbstring.language が "Japanese" の場合 "auto" は、"ASCII,JIS,UTF-8,EUC-JP,SJIS" に展開される */
$str = mb_convert_encoding($str, "EUC-JP", "auto");

から、”EUC-JP”の部分を”UTF-8”に変えたところ文字化けが直りました。とりあえず”auto”がいいみたい。

んでお気づきの方もいらっしゃるかもしれませんが、「$br」っていう変数があるのにお気づきかも?
ええ、今度は改行がうまくいかないのです(´;ω;`)
適当に\nかなんかいれときゃ、改行になるだろうー。と思ったけど、難航。
結局のところは。

/\r\n|\n|\r/g

と総当たりで改行コードを探しました(;’∀’)
ちなみに下の感じです。

  • \n(LF):Unix系OS全般、Mac OS X
  • \r\n(CR+LF):Windows系OS
  • \r(CR):古いMac OS(9以前)

今回はタブレット(android)で開発してたのですが、Windows系OSで使われる\r\nがほかの改行コードを抜いていった結果正しく改行されたので、実際の開発環境によるのかもしれない(◎_◎;)

出来たよーーー!
こんな感じに完成しました(◎_◎;)

問い合わせ先がわかりづらいのと今まで出来合いのをダウンロードしてたので、あえて自分で作り直して、トップの目立つところに配置しました。
あと、何のサイトか上の方に記述がなかったので、一番上の付け足しました!
以上Pokdonからでした。
疲れたぁ・・・・。