| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > unterminated string literal |
| Автор: Orient 18.1.2007, 17:43 |
| Здравствуйте Задача у меня такая. по нажатию на кнопку сделать запрос к БД и вывести на страницу. Страницу всю не перегружаю, с помощью JavaScript в ставляю в innerHTML нужного элемента результат запроса. Так вот, все хорошо работало, до того момента как я не вставитл в текст данных в таблице символы <,>,". При записи в БД я вопсользовался функцией mysql_real_escape_string При выводе stripslashes и htmlspecialchars. Так вот, в результате всего этого возникает ошибка в браузере в JavaScript. Пишется unterminated string literal. Что я делаю не так? Помогите, а то уже туплю который день не могу понять что делать. Спасибо |
| Автор: szz 18.1.2007, 17:53 | ||||||
Это значит что у тебя где-то получается какой-то кусок, где нет второй пары кавычек, например что-то такое:
Покажи пажалста код (или хотя бы критические на твой взгляд фрагменты), а то так непонятно что как. Добавлено @ 17:55 Мне кажется что stripslashes рубит заэскейпенные кавычки. Т.е. например
превращает в
|
| Автор: Orient 18.1.2007, 18:00 | ||||
по нажатию на копку работает вот этот Javascript
getdisklist.php содержит вот что:
|
| Автор: szz 18.1.2007, 18:05 | ||||||||
Попробуй в 20-й строке ( попробуй сначала первый вариант - не сработает - второй и т.д.
В записи "About" есть кавычки? Добавлено @ 18:09
Впервые вижу чтоб кто-то <> использовал |
| Автор: mr.Anderson 18.1.2007, 18:11 |
| szz, это, наверно, привычка из Basic или Pascal. |
| Автор: Antarn 18.1.2007, 18:30 | ||||
используй разные кавычки, например:
|
| Автор: szz 18.1.2007, 18:31 |
| Это он стирал запрос и забыл стереть эту маленькую кавычку... |
| Автор: Antarn 18.1.2007, 18:42 | ||
а разве такой запрос пройдет ?
|
| Автор: Orient 18.1.2007, 18:50 |
| szz, делфист я, по профессии, так что действительно это привычка. порой как в паскале пишу, порой как в пхп Добавлено @ 19:04 szz, все три примера не подошли. вот текст из About на котором все падает: sdfsdfsdfs \"adfasd\" |
| Автор: Mal Hack 18.1.2007, 20:07 |
| Делается так. Отключаются magic_quotes - все. При вставке в Базу делается htmlspecialchars, далее при выводе все будет нормально. |
| Автор: Orient 19.1.2007, 11:13 | ||
| Ох... проблема таки разрешилась. Два дня тупления окончились. Вобчем дело в том, что в About хранится много строчный текст, который котом с Javascript вставляется, вот переход на новую строку и вызвал данную ошибку. Транслятор решил что это незаконченная строка. С помощью вот такого кода:
Большое всем спасибо за помощь и участие. |
| Автор: Mal Hack 19.1.2007, 15:16 |
| Боже, зачем так сложно? str_replace убивает сначала все \r, потом еще раз все \n заменяем на <br/> и не мучаемся с POSIX |
| Автор: Orient 22.1.2007, 09:50 |
| Какой первый рабочий пример нашел, такой и применил. В принципе можно и str_replace использовать, правда переделывать не охота :-) Спасибо на совет |
| Автор: szz 22.1.2007, 09:52 |
| И где же ты такой пример нашел? Дай-ка ссылку, интересно работы этого автора посмотреть |
| Автор: Orient 23.1.2007, 17:55 |
| вот где: http://forum.vingrad.ru/topic-75785/hl/ereg_replace%2Cand%2C%2526amp%3Blt%3Bbr%2526amp%3Bgt%3B/index.html |
| Автор: Beos 20.8.2007, 05:08 | ||
| Спасибо огромное! Навели меня на путь истинный =) У меня переменная (с тем же глюком из за символов) уходила из пхп в яваскрипт и была та же ошибка. Решил её вот так:
Может каму ещё поможет =) |