1

ポップアップ(子)を介して2番目のページを開く1つのページ(親)があります

2 番目のページには、親ページから HTML 要素の値を取得する次の PHP コードがあります。

 $var=print_r("<script type='text/javascript'>var x=window.opener.document.getElementsByName('name1');document.write(x[0].value)</script>",true);   

変数をエコーする$varと、期待どおりの結果が得られます。したがって:

echo "test=" . $test;

...ページに「経費」などを印刷します。

ここまでは順調ですね。

問題は、この変数を次のようなファイルに書き込もうとしたときです。

$f=fopen("/mylog.txt","w+");
fwrite($f, $test);
fclose($f);

$test... 次に、 (経費など)の実際の値の代わりに、

したがって、ログファイルにスクリプトタグ全体を取得します。

<script type='text/javascript'>var x=window.opener.document.getElementsByName('name1');document.write(x[0].value)</script>

print_r「true」パラメーターを使用して変数に値を返すと仮定すると$test、正確なスクリプトタグをログファイルに書き込むのはなぜですか?

どうすればこれを克服できますか?

4

3 に答える 3

4

値をechoブラウザに渡すと、JavaScript が実行され、結果が表示されます。

ファイルに保存すると、JavaScript は実行されません。

どちらの場合も、完全なスクリプトが出力されますが、ブラウザは実際にスクリプトを実行していますが、テキスト エディターは実行していません。

于 2013-04-10T14:40:45.640 に答える