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

Mihashi pml_384 @ yahoo.co.jp
2007年 1月 22日 (月) 18:20:06 JST


三橋です。

ゆむ様 ご返事ありがとうございます。

>ヒアドキュメント内のダブルクオーテーションはエスケープ不要だったような
>気がします。
>
>本物のソースがどんなんなっているのかはわかりませんが、
>HTML部分を<?php 〜 ?>の外に書くとか、別ファイルにしてincludeする
>とかした方が楽だと思います。きっと。
>
JavaScript部分のtyp=1のようにシングルクォーテーションを記述する方法でなく
typ=2のようにダブルクォーテーションをネストして記載する際は、エスケープが必要なのではないでしょうか?


>
>> 『?PHPSESSID=値"』が付加
>php.iniのuse_trans_sidとuse_cookies あたりを確認しましょう。
>http://www.php.net/manual/ja/ref.session.php
>
Session_Start()を行わないとき、この現象が起きないので、
ご支持いただいている箇所も、調査はしていたのですが、
以下の他の環境で行った際、同じようなエスケープの現象が起きなかったため、
他の部分での環境設定に何か問題がないかと思っていました。

実行環境2
  PHP Version 4.3.10
  Apache Version Apache/1.3.33 

>>実行環境1
>>  PHP Version 4.2.3 
>>  Apache Version Apache/1.3.33 


phpiniの設定できる、設定部分は実行環境1、2ともほぼ同じです。
use_trans_sid,use_cookiesともONになっています。


回避方法としては、typ=1の記述などでも対応できるのですが、
>>1  \  ⇒  "\"                           // 両サイドに『"』が付加されます
>>2  \  ⇒  "\?PHPSESSID=c4c8・・・"      // 左側に『"』、右側に『?PHPSESSID=値
エスケープの仕方が予期せぬ動きだったため、(知識不足だと思います・・・ (^_^;) )
また環境設定の問題があれば、修正の影響度も大きくなると思い、メールさせていただいています。


ご教授のほど宜しくお願い致します。

以上

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



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