4

javascript を使用して xml ファイルを作成し、次のようなアラートで正しく表示します。

<Voitures>
   <voiture par1="4" par2="1" par3="0"/>
   <voiture par1="3" par2="0" par3="0"/>
</Voitures>

しかし、問題は、ajax を使用して php ファイルに送信すると、次の結果が得られることです。

<Voitures>
   <voiture par1=\"4\" par2=\"1\" par3=\"0\"/>
   <voiture par1=\"3\" par2=\"0\" par3=\"0\"/>
</Voitures>

ありがとうございました

4

1 に答える 1

8

PHP 構成でマジック クォートが有効になっています。PHP 5.4 で削除されました。 今すぐ無効にしないと、PHP 5.4 にアップグレードしたときに正しく動作しないコードを作成する危険があります。

それが不可能な場合は、stripslashes()他の操作を行う前に値に対して使用してください。 これは、マジック クォートを本当に無効にできない場合にのみ行ってください。マジック クォートを有効にして PHP ソフトウェアを開発することは、非常に悪い考えです。


優れたコードを書き、将来性を持たせようとしている場合は、これをすべてのファイルの先頭に置くか、どこでも使用される一般的なインクルード ファイルを配置します。

if (get_magic_quotes_gpc()) {
    trigger_error("Magic quotes are enabled; please disable them.", E_USER_ERROR);
}

これにより、マジック クォートが有効になっている場合、アプリケーションの実行が単に拒否されます。

オプションがある場合は、次の.htaccess内容を含むファイルをアプリケーションと一緒に送付してください。

php_flag magic_quotes_gpc Off

これにより、可能であれば、アプリケーションが Apache にデプロイされたときにアプリケーション全体のマジック クォートが無効になります。php_flagApache 構成でファイル内のディレクティブが許可されていない場合.htaccess、HTTP 500 エラーが発生します。これは、マジック クォートを有効にしてアプリケーションを実行するよりもはるかに優れています。

于 2012-09-07T21:06:28.863 に答える