Hatena::ブログ(Diary)

130単位

2009-04-17

PHP POSTしたダブルクォーテーションをエスケープさせない

ひさびさにPHPの開発。環境を整えるのに時間をとられましたが、本日分のノルマ1画面分は、なんとか完成できたかと思います。あとは細かい仕様の確認と、他画面との連携部分。

嵌ったこと

画面からJSON文字列をPOSTして、コントローラ連想配列デコードする処理。これがなかなかうまくいきませんでした。var_dumpしてみると、デコードした値がNULLになってる。じゃあデコードする前はどうかというと、こんな中身になってた。

{\"item_id\":\"1\"}

画面のソース上では通常なのに、POSTすると「"」がエスケープされてる。原因はおそらくPHPの設定だろうと思い、php.iniを調べてみる。

;magic_quotes_gpc = On
magic_quotes_gpc = Off

magic_quotes_gpcの値をOffにする。これで良さ気。

…と思いきや、現象は変わらず。

煮詰まったのでほかの人のPCで試させてもらったところ、エスケープされずうまくいく。そこで、liucheng氏から「XAMPPだったらApacheフォルダにもphp.iniがある」との助言。

そういえば自分が編集したのはxampp¥php¥php.iniのほうでした。確かにxampp¥apache¥bin¥php.iniにもあり、こちらを編集したらうまくいきました。感謝感謝♪

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/deeeki/20090417/magicquotesoff