![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| Orient |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 17.7.2004 Репутация: нет Всего: нет |
Здравствуйте
Задача у меня такая. по нажатию на кнопку сделать запрос к БД и вывести на страницу. Страницу всю не перегружаю, с помощью JavaScript в ставляю в innerHTML нужного элемента результат запроса. Так вот, все хорошо работало, до того момента как я не вставитл в текст данных в таблице символы <,>,". При записи в БД я вопсользовался функцией mysql_real_escape_string При выводе stripslashes и htmlspecialchars. Так вот, в результате всего этого возникает ошибка в браузере в JavaScript. Пишется unterminated string literal. Что я делаю не так? Помогите, а то уже туплю который день не могу понять что делать. Спасибо |
|||
|
||||
| szz |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 1 Всего: 33 |
Это значит что у тебя где-то получается какой-то кусок, где нет второй пары кавычек, например что-то такое:
Покажи пажалста код (или хотя бы критические на твой взгляд фрагменты), а то так непонятно что как. Добавлено @ 17:55 Мне кажется что stripslashes рубит заэскейпенные кавычки. Т.е. например
превращает в
--------------------
|
||||||||
|
|||||||||
| Orient |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 17.7.2004 Репутация: нет Всего: нет |
по нажатию на копку работает вот этот Javascript
getdisklist.php содержит вот что:
|
||||
|
|||||
| szz |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 1 Всего: 33 |
Попробуй в 20-й строке ( попробуй сначала первый вариант - не сработает - второй и т.д.
В записи "About" есть кавычки? Добавлено @ 18:09
Впервые вижу чтоб кто-то <> использовал --------------------
|
||||||||||
|
|||||||||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
szz, это, наверно, привычка из Basic или Pascal.
|
|||
|
||||
| Antarn |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 11.8.2006 Репутация: нет Всего: нет |
используй разные кавычки, например:
|
||||
|
|||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 1 Всего: 33 |
Это он стирал запрос и забыл стереть эту маленькую кавычку...
--------------------
|
|||
|
||||
| Antarn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 11.8.2006 Репутация: нет Всего: нет |
а разве такой запрос пройдет ?
|
|||
|
||||
| Orient |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 17.7.2004 Репутация: нет Всего: нет |
szz, делфист я, по профессии, так что действительно это привычка. порой как в паскале пишу, порой как в пхп
Добавлено @ 19:04 szz, все три примера не подошли. вот текст из About на котором все падает: sdfsdfsdfs \"adfasd\" |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Делается так.
Отключаются magic_quotes - все. При вставке в Базу делается htmlspecialchars, далее при выводе все будет нормально. |
|||
|
||||
| Orient |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 17.7.2004 Репутация: нет Всего: нет |
Ох... проблема таки разрешилась. Два дня тупления окончились.
Вобчем дело в том, что в About хранится много строчный текст, который котом с Javascript вставляется, вот переход на новую строку и вызвал данную ошибку. Транслятор решил что это незаконченная строка. С помощью вот такого кода:
Большое всем спасибо за помощь и участие. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Боже, зачем так сложно?
str_replace убивает сначала все \r, потом еще раз все \n заменяем на <br/> и не мучаемся с POSIX |
|||
|
||||
| Orient |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 17.7.2004 Репутация: нет Всего: нет |
Какой первый рабочий пример нашел, такой и применил.
В принципе можно и str_replace использовать, правда переделывать не охота :-) Спасибо на совет |
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 1 Всего: 33 |
И где же ты такой пример нашел? Дай-ка ссылку, интересно работы этого автора посмотреть
--------------------
|
|||
|
||||
| Orient |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 17.7.2004 Репутация: нет Всего: нет |
||||
|
||||
| Beos |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 20.8.2007 Где: Latvia -> Riga Репутация: нет Всего: нет |
Спасибо огромное! Навели меня на путь истинный =) У меня переменная (с тем же глюком из за символов) уходила из пхп в яваскрипт и была та же ошибка.
Решил её вот так:
Может каму ещё поможет =) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |