|
|
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
Существует textarea с комментарием($comment). Значение передаётся естесно в мускулевскую базу, потом выводится обратно в textarea для просмотра/изменения. При использовании символов (') , (") , ( перевод_строки ) добавляются слэши (\). Причём при каждом следующем сохранении они множатся! То есть сначала имеем ' потом \' потом \\' потом \\\\' и так далее до тех пор, пока окно с этим полем вообще не открывается абсолютно путым, без единого элемента! Пробовал и htmlspecialchars и даже вот такое: Код: plaintext Достало уже это экранирование! Весь обплевался... Somebody HELP!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 13:33 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
VERSstripslahes($text); ------------------------------- www.free-lancer.ru Sorry, :) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 13:37 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
\"Кавычки \". Cоставление запросов mysql, слеши, экранирование кавычек. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 13:43 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
маджик_квотесы включены Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 13:44 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
Да, ребят, спасибо большое :) Всюду убрал кроме как с ('). Наверное придётся сказать людям, чтобы не ставили одинарную кавычку... Кстати, возможно проблемы ещё из-за того, что в этом окне активно используется JavaScript. Например вот так: Код: plaintext 1. 2. 3. 4. 5. А помеял, собственно тута: Код: plaintext 1. 2. 3. Понимаете ли, код исходно не мой, а разбираться и отвечать за него поручено мне, вот и гадаем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:06 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
FrankieНаверное придётся сказать людям, чтобы не ставили одинарную кавычку...Наверно надо просто внимательно прочесть ссылку, которую вам дали, ещё раз.Кстати, возможно проблемы ещё из-за того, что в этом окне активно используется JavaScript.По барабану, чего там у вас на клиенте активно используется.Понимаете ли, код исходно не мой, а разбираться и отвечать за него поручено мне, вот и гадаем...Поручено - разбирайся. И приводи в порядок. Иначе так и будешь на всякую фигню напарываться время от времени - в итоге получишь код со вползающими особенностями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:10 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
Вы так ничего и не поняли или не прочли, предложенную мной линку. Не надо никого ничего просить. Есть кавычка и нужно ее корректно добавлять в базу и все равно, какой обработчик стоит на стороне клиента. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:11 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
* FrankieНаверное придётся сказать людям, чтобы не ставили одинарную кавычку...Наверно надо просто внимательно прочесть ссылку, которую вам дали, ещё раз. Статья слишком общая, хотя и хорошая, в целом. Понимаете, я не хочу лезть в не то что в php.ini но и использовать всякие set_magic_quotes... Если что-то таким образом испортится, будет просто зря потрачено время. И ещё: у меня стоит register_globals = on , и я несколько удивился, что это неправильно, хотя и предполагал, что так оно может быть... * FrankieКстати, возможно проблемы ещё из-за того, что в этом окне активно используется JavaScript.По барабану, чего там у вас на клиенте активно используется. Как бы не так! Это же веб - конгломерат технологий! Глюк со слэшами появился после того, как система (частью которой и является под-окно с проблемным полем) была переведена в режим модального окна. * Frankie Понимаете ли, код исходно не мой, а разбираться и отвечать за него поручено мне, вот и гадаем...Поручено - разбирайся. И приводи в порядок. Иначе так и будешь на всякую фигню напарываться время от времени - в итоге получишь код со вползающими особенностями. Разбираюсь и привожу, не жалуюсь, просто констатирую факты - чтобы сразу было ясно, что большую часть кода писал не я. А что такое "вползающие особенности", не расскажешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:42 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
4m@t!cВы так ничего и не поняли или не прочли, предложенную мной линку. Прочёл. Внимательно. А понял насколько мозгов хватило, уж извините. 4m@t!c Не надо никого ничего просить. Есть кавычка и нужно ее корректно добавлять в базу... Тут рискну не согласиться: одинарная кавычка используется "простыми юзерами" крайне редко хотя бы потому, что находится в английской раскладке. Опасность может возникнуть только из-за Ctrl+C/Ctrl+V. 4m@t!c и все равно, какой обработчик стоит на стороне клиента. Какой обработчик? Какой клиент? Это же веб-приложение!! Клиентом по сути является браузер! Если б была нормальная клиент-серверная система, с нормальной СУБД, с настоящим смарт-клиентом, подобных бредовейших проблем вообще бы не возникало. Такую систему мы конечно разрабатываем, но паралелльно приходится поддерживать и существующую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:48 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
Frankie 4m@t!c и все равно, какой обработчик стоит на стороне клиента. Какой обработчик? Какой клиент? Это же веб-приложение!! Клиентом по сути является браузер! Если б была нормальная клиент-серверная система, с нормальной СУБД, с настоящим смарт-клиентом, подобных бредовейших проблем вообще бы не возникало.Да, браузер - это клиент. Но слэши добавляются серверным PHP, а не клиентом или СУБД. Всё, что вам надо, это: 1. Избавляться от слэшей в данных от клиента, если включено magic_quotes_gpc 2. Добавлять экранирование при выполнении запросов к БД. И всё, никакого шаманства. Всё это и написано по ссылке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:59 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
Ссылку действительно почитай. Я сам пару месяцев назад с этим столкнулся. Надо-то будет одну функцию в итоге добавить. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 15:59 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
в php.ini magic_quotes_gpc = Off (точно не помню параметр) и при добавлении в БД addslashes ($data) при извлечении stripslashes ($data) --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 17:10 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
addslashes - это атавизм. Данные, приходящие от клиента могут быть любые, а прийдут они через интерфейс броузера или "смарт-клиента" - абсолютно фиолетово. Если бы внимательно прочли статью, то поняли, что лезть php.ini совершенно необязательно. Достаточно проверять данную настройку и взависимости от этого экранировать или не экранировать данные. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 18:02 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
wolkпри извлечении stripslashes ($data)Бред. Происходит от непонимания вопроса и чтения книжек под авторством ламерши Лауры Томсон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 18:16 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
4m@t!cДостаточно проверять данную настройку и взависимости от этого экранировать или не экранировать данные.Это всё же сложнее (надо быть более внимательным), чем предложенный мной вариант (т.е. в начале скрипта удалять лишние слэши по необходимости, а при запросах их добавлять), в этом случае нет необходимости помнить, что за данные у вас в переменных - они всегда соответствуют тому, что ввёл пользователь, или тому, что вы сами задали, т.е. переменные всегда являются данными, а не их отображением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 18:19 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
[SRC *]переменные всегда являются данными, а не их отображением.[/src]Да, так правильней будет. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 18:29 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
* wolkпри извлечении stripslashes ($data)Бред. Происходит от непонимания вопроса и чтения книжек под авторством ламерши Лауры Томсон. Обоснуй ЗЫ ху из лаура?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 19:00 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
wolkОбоснуйЧеловек разумный не лезет на форум с требованиями что-то обосновать до прочтения мануала. Где чёрным по белому написано, почему этого делать не надо и почему это лишено смысла. Даже если слова мануала до человека не дойдут - он всегда может убедиться в своей правоте или неправоте при помощи личного опыта, коий поставить проблем не составляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 19:07 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
В вышеозвученном http://www.phpfaq.ru/slashes#mysql] FAQ об этом так же написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 19:09 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
* wolkпри извлечении stripslashes ($data)Бред. Происходит от непонимания вопроса и чтения книжек под авторством ламерши Лауры Томсон. бред происходит от непонимания того, что одна и та же проблема решается разними способами и как ее решать это личное имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2005, 17:03 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
wolkбред происходит от непонимания того, что одна и та же проблема решается разними способами и как ее решать это личное имхо.Это ж надо быть таким УПЁРТЫМ ЛЕНТЯЕМ. Уже давно можно было прочесть мануал и понять, что http://se.php.net/addslashesФункция addslashes() часто применяется при записи в базу данных. Предположим, если нужно внести в базу данных имя O'reilly, то символ ' должен быть экранирован. В большинстве баз данных для этого используется \, строка будет выглядеть как O\'reilly. Заметьте, что сам символ \ в базу данных записан не будет . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2005, 17:14 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
Я это прекрасно все прочитал. >всегда может убедиться в своей правоте или неправоте при помощи личного опыта, коий поставить проблем не составляет вырезка из БД: mysql>GRANT select ON `mail`.* TO \'postfix\'@\'127.0.0.1\' IDENTIFIED BY \'postfix\'; mysql>use mail; mysql>create table alias (address varchar(128) not null default \'\', \\ goto varchar(128) not null default \'\', primary key (address)); mysql>create table transport (domain varchar(128) not null default \'\', \\ transport varchar(128) not null default \'\', primary key (domain)); mysql>create table users (email varchar(128) not null default \'\', \\ passwd varchar(128) not null default \'\', uid int(11) unsigned not null default \'1000\', \\ gid int(11) unsigned not null default \'12\', \\ maildir varchar(255) not null default \'/var/spool/mail/\', \\ enabled tinyint(4) not null default \'1\', quota int(11) unsigned not null default \'2048000\', primary key (email) ); mysql>insert into transport VALUES (\'virtual1.domain\', \'virtual\'); mysql>insert into users VALUES (\'test@virtual1.domain\', \'password\', \'1000\', \'12\', \\ \'/var/spool/mail/virtual1.domain/test/\', \'1\', \'2048000\'); так точно ли не попадают?? а если эту базу поюзали сначала с magic_quotes и addslashes? если база не твоя и с ней по определенным причинам так поработали? конечно можно перелопатить кучу мусора удаляя ненужное, но... ведь по большому счету проблемы-то нет в использовании stripslashes, кроме, как удаление нужных символов "\" )) --------- С уважением! wolk.nutep.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2005, 17:28 |
|
||
|
(PHP) Как убрать \
|
|||
|---|---|---|---|
|
#18+
wolkа если эту базу поюзали сначала с magic_quotes и addslashes?Ну и что?если база не твоя и с ней по определенным причинам так поработали?Где в вопросе звучит хоть слово о том, что человек работает с чужой базой, с которой до этого работал программист-недоумок? У человека проблемы со своим кодом и своей базой, он только учиться.конечно можно перелопатить кучу мусора удаляя ненужное, но... ведь по большому счету проблемы-то нет в использовании stripslashes, кроме, как удаление нужных символов "\" ))А с чего вы взяли, что это - не проблема? Если продолжать ваш тернистый путь гадалки - а если там бинарные данные лежат? В базе должны лежать данные, а не их представление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2005, 17:45 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33103410&tid=1478144]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 422ms |

| 0 / 0 |
