フォーム エディターを想像してみましょう。使用可能な値を編集できます。データに"
文字 (二重引用符) が含まれていると、HTML コードが「破棄」されます。つまり、コードを確認してみましょう: HTML を生成します。
onclick="var a = prompt('New value: ', '<?php echo addslashes($rec[$i]); ?>'); if (a != null)....
そしてそれは
onclick="var a = prompt('New value: ', 'aaaa\"aaa'); if (a != null) { v....
これにより JS が機能しなくなり、コードが台無しになります。シングルクォート'
で問題なく動作します。mysql real escape
同じことをします。javascriptを台無しにしないように文字列をエスケープする方法は?
json_encode は問題ないように見えましたが、私は何か間違ったことをしているに違いありません。それでもまだ悪いです: Firefox がそれをどのように認識するかのスクリーンショットを次に示します - 「悪い」二重引用符が挿入されます! 値は単純な数値です。
http://img402.imageshack.us/img402/5577/aaaahf.gif
そして私は使用しました:
('Ird be az új nevet:', <?php echo json_encode($rec['NAME']); ?>); if (a) {