久々にPHP4系使ったり
あろ〜は。
久しぶりにPHPの4系を使うことになったのだわ。
んで。解決しない問題が一つ。
バックスラッシュ、通称円マークの増殖問題。5C問題とゆーアレ。これはphp.iniの「magic_quotes_gpc」てやつをオフってやれば解決するんだけど、値を出し入れしてると、
"→\"→\\\"→\\\\\\\"→\\\\\\\\\\\\\\\"→\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
ってゆー楽しい状態になってひゃっほい! 開発者の頭の中もひゃっほい状態だ!
このオプションはPHP6から消えちゃってたりするらしいけど、困った事にPHPのバージョンアップもphp.iniの変更も、まーできないわけで。
答え。頭下げる。いじょ。
2010/01/01追記
$_POSTや$_GET、$_REQUESTに対してstripslashesかけたら、回避でけた。以下は$_POSTの例。
foreach ($_POST as $key => $value) { $_POST[$key] = stripslashes($value); }
ちなみに、内部データとしてはエスケープされてないので、セッション変数とかに保存する前に上記処理しちゃいけないよ。表示前とか、データベースに突っ込む前とかにしてね。