[PHP-users 31307] Re: \記号のエスケープについて

Mihashi pml_384 @ yahoo.co.jp
2007年 1月 23日 (火) 10:35:24 JST


三橋です。

須山様、ご返信ありがとうございました。
ご返信遅れまして、申し訳ありません。

>session.use_cookies をオンに出来ない状況と言う前提でお話しますが、セッショ
>ンの設定に url_rewriter.tags と言う項目があります。
このようなタグがあることを知りませんでした。勉強になります。
ただ今回の環境では残念ですがsession.use_cookies をオンに設定が可能です。


今回質問させていただいた、\記号のエスケープに関する私の見解としましては、
初期画面(セッションスタートを最初にしている画面)で、
HTML内(JavaScript部分)に\記号を使った際、特別?なエスケープがされるのだと思っています。

理由としましては、
・ブラウザを立ち上げて最初の画面表示でしか起こらない
・更新処理をしたらおこならい
・同じような作りの他の画面では起こらない(その画面へ遷移する前の画面でセッションスタートをおこなっているから)


私の見解の初期画面(セッションスタートを最初にしている画面)のみ起こるで間違いでなければ
問題の初期画面で使われるプログラムの書き方を修正するだけで治るのですが、
勘違いであり、内容によれば他の同一の作りのプログラムの見直しがあるため、原因を突き止めたく思っています。


>よって、エスケープは問題ないかと思われます。
今回頂いた須山様の内容で今回のエスケープはPHPの仕様と解りましたのでphp.ini の設定を再度読み直して見ます。



問題部分
    lineStr = "<INPUT type=\"text\" name=\"In_Text\" value=\"\">"
            + "<A href=\"javascript:chg(1)\">SET</A>";

エスケープ内容(初期画面の出力時のみ起こる)
1.inputタグの値部分の\記号
  『\』⇒『"\"』
2.aタグのhref部分の\記号
  『\』⇒『"\?PHPSESSID=値"』


少しでも、気になる点があればご教授いただければ幸いに思います。

以上、宜しくお願い致します。

--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/



PHP-users メーリングリストの案内