Обработка кавычек.

  • Автор темы Автор темы KPD
  • Дата начала Дата начала

KPD

Новичок
Обработка кавычек.

Здравсвуйте.

Столкнулся с такой проблемой.

Прежде чем поместить текст в БД я прохожусь по нему функцией htmlspecialchars.

Но в результате получаю что двойные кавычки он преобразует не в "
а в "

Это нормальное поведение этой функции?
Если да то как тогда лучше быть?
Дело в том что текст я могу редактировать и если кавычки не заменять то тогда в HTML это будет некорректно распознано.

может проще вручную заменять двойнфые кавычки на "??
тоесть написать свою ф-ию аналогичную htmlspecialchars.
но насколько это скажется на быстродействии?
 
Прежде чем поместить текст в БД я прохожусь по нему функцией htmlspecialchars.
это неправильно.
Но в результате получаю что двойные кавычки он преобразует не в "
а в "
А ты то хотел?
Это нормальное поведение этой функции?
нормальное.
а вот применяешь ты ее совсем не по делу.
может проще вручную заменять двойнфые кавычки на "??
зачем?
тоесть написать свою ф-ию аналогичную htmlspecialchars
а в чем будет заключаться аналогичность?
в чем чмысл, по-твоему, этой функции?

-~{}~ 10.01.05 22:32:

sakon
когда ты научишься давать нормальные ссылки, а не на сотню килобайт текста?
 
[m]htmlspecialchars[/m]
Использовать её надо только при выводе данных пользователю, при записи в базу пользовать [m]mysql_real_escape_string[/m], остальные подробности - в ссылке, которую привёл sakon
/me косясь на Фаната - или здесь: PHP FAQ: \"Кавычки \". Cоставление запросов mysql, слеши, экранирование кавычек.
 
хм непойму тогда...
может дело в PEAR?
я использую QUIKForms

в базе лежит всё как надо вместо кавычек - &quote;
а вот когда я это передаю в форму то там получается &qout;


хм...
 
KPD
ты в состоянии ответить хоть на один вопрос, который я задал?
Если нет, то просто сделай ,что тебе велят - НЕ используй функцию htmlspecialchars, которая к базам данных не имеет ни малейшего отношения.
 
ну а вот если смотреть как работает phpBB то там в базу записывается кавычки в видt quot....
тоесть уже преобразованные
 
Если ты в состоянии воспринимать русский текст и вести диалог - я могу объяснить тебе все твои заблуждения и ошибки. Это все описанные в факах проблемы дошколят от веб-программирвоания.
Если же ты собираешься и далее общаться сам с собой, то этот форум тебе не подойдет.

-~{}~ 10.01.05 22:43:

KPD
забудь про идиотскую программу phpBB
то, что базу записывается кавычки в видt quot не мешает ему быть взломаным по пять раз в неделю.
 
так как тогда правильно делать?

если у меня есть текст в котором встречаются двойные кавычки, одинарные кавычки и всякие <> и тд...

текст хранится в базе, мне его надо просто выводить на экран в HTML, а также надо редактировать его с помощью форм
тоесть запихивать в
INPYT TYPE=TEXT
и в TEXTAREA ?

-~{}~ 10.01.05 22:48:

ещё вопрос разве то как кавычки хранятся в БД влияет на безопасность форума?
 
Те же сказали:
при вставке в базу mysql_real_escape_string
при выводе в ХТМЛ htmlspecilhars
 
понял.
спасибо.

эх, не надо было оринтироваться на phpBB....
 
KPD
Неужели ты правда не понимаешь, что действия надо совершать там, где они нужны, а не от балды?

htmlspecialchars заменяет "вредные" символы в HTML. И НЕ заменяет то, что нужно для БД.
И ты функцию, которая нужна для вывода HTML, используешь для обработки данных для помещения в БД. Какой в этом смысл?
 
спасибо всем кто помог разобраться:-)

на самом деле все было просто, но я рад что эта проблема у меня всплыла....
мой класс который работает с базами использовал функцию addslashes :-) а я то про это и забыл совсем уже...

а проблема с кавычками всмлалы так как функция htmlspecilhars
применялась 2 раза - первый раз вручную я её применял а второй раз в PEAR QUICKForm она применялась, отсюда то и вылезла проблема....
 
Сверху