« ブラザーFAX-730CLの子機BCL-600の増設・解除方法 | トップページ | Windowsメールで受信トレイの内容が消えた? »

2012年6月11日 (月)

PHP問い合わせフォームSafariの落とし穴?いやIEの落とし穴!

お問合せフォームは、フリーCGIで取り繕うところが多いですが、弊社は、PHPで作ったオリジナルの問い合わせフォームをお客様に提供しています。

メリットは、会社やお店に合わせた入力項目や画面レイアウトなど、自由自在に作れるところです。

しかし、最近「空メールが届くのは何でですか?」というクレームがあった。

弊社のパソコン環境でテスト入力すると、問題ないのですが、お客さんがやってみると空メールが確かに送られている。

どうやら、パソコンではなく、iPhoneから送っているとのこと。

確認画面が表示されず、エラーチェックを素通りして、いきなり送信完了画面に行くのだそうだ。

「ブラウザによって動作が違う???」と思って、早速Win7にSafariをインストールしてテストすると、確かに同じ現象が起こった!!ちなみにGoogle Chromeでは問題なかった。

どうやらHTMLページ側がShift_JISで、PHP側がEUC-JPなのが問題と分かった。

元々は、FORMタグのenctype属性に

enctype="text/plain;charset='EUC-JP'"

と入れていた。これでIEではいけていたのです。

このenctypeを調べてみると、こんな文字コードを指定するようなものではないと!!!

えーΣ(゚Д゚;まじっすか!!

結局enctypeは使わずFORMタグに属性で、

accept-charset="EUC-JP"

とした。いろいろWEB上の情報では、IEではこれで正常に動作しないとのことだったが、テストすると、IE8,IE9では正常に動くようだ。

しかしもっと古い環境で送る場合も想定して、submitボタンにJavascriptで、

<INPUT type="submit" onclick="document.charset='EUC-JP;'" value="確認画面へ">

とした。弊社パソコン環境では動作は変わらないが、こうしておくほうがいいでしょう。

|

« ブラザーFAX-730CLの子機BCL-600の増設・解除方法 | トップページ | Windowsメールで受信トレイの内容が消えた? »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/75977/45611278

この記事へのトラックバック一覧です: PHP問い合わせフォームSafariの落とし穴?いやIEの落とし穴!:

« ブラザーFAX-730CLの子機BCL-600の増設・解除方法 | トップページ | Windowsメールで受信トレイの内容が消えた? »