Вы правы, json_encode, вероятно, будет безопаснее.
те представим редактор форм, он может редактировать доступные значения. Если данные содержат"
символ (двойная кавычка) «разрушает» 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 невозможной, так что это разрушает код. С одним qoute'
все работает хорошо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) {