うっかりやられました。。
フォームでポストされた値に対しては、マジッククオートが有効になっていたらstripslashes使ってクオートを取り除くようにしていたのですが・・・。
「応募フォーム→確認画面→DB登録」
って感じに作っていたプログラムで、確認画面から再度データをPOSTさせていたので、クオートされていました。。。
そして、そのままデータベースに登録されているので、クオートされたままのデータがDBに入っていました。。。
.htaccessが使えれば、そこでマジッククオートを無効にすればいいのですが、レンタルサーバによっては.htaccessが使えないのです。。
個人的にクオートされたままDBに登録するってのも微妙なんで、DBに登録する前に、stripslashes使ってクオートを取り除きました。
書き直すファイルが結構出てきてめんどくさかったっす。。。
でもって、再帰的にマジッククオートを解除する関数作ってみました。
|
|
再起処理ってこんな感じでよいのでしょうか?
ちなみに、PHP6になったら、マジッククオートはなくなるそうです!PHP5.3からは非推奨だそうです。