ダブルクォーツやシングルクォートが必ずエスケープされる

最近作成している更新システム。
今まではナチュラルな内容ばかりを扱っていたので気づかなかったけど、ソースをいれると必ずダブルクォーツやシングルクォートがプレビュー画面でエスケープされる。

おかしいな。データベース入れるときにだけエスケープかかるように作ったのに……。

いろいろ調べていて行き当たったのは

「マジッククォート」ってやつです。

サーバで「magic_quotes_gpc」がonになっていると、ユーザが入力のGPCが勝手にエスケープかかった状態になります。

これ、多分、SESSIONもかな。

なので、get_magic_quotes_gpcでonかどうかを調べて、onであった場合は、stripslashesがかかるようにしなくてはいけない。

詳しくは下記アドレスを参考に。
いろいろと探してみましたが、本当にわかりやすくてめっちゃ助かりました!!!ありがとうございました。

マジッククォートの処理(@そふぃのPHP入門


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です