Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > WordPress и другие CMS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2013, 15:32   #1
Anton
Пользователь
 
Регистрация: 06.08.2007
Сообщений: 43
По умолчанию Экранирование

Подскажите пожалуйста. При работе с базой данных к примеру методом $wpdb->insert происходит автоматическое экранирование кавычек, при записи в базу данных. Но при выборке данных также выбираются и обратные слеши. Есть какой-либо способ извлечь эти данные без слешей, на уровне функций wordpressa. Я пока использую stripcslashes().
Anton вне форума Ответить с цитированием
Старый 18.04.2013, 15:43   #2
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

По вашему описанию похоже что проблема в сервере, а именно в настройках php. Проверьте опцию в файле php.ini, должно быть:
Код:
magic_quotes_gpc = off
dr.Chas вне форума Ответить с цитированием
Старый 18.04.2013, 15:45   #3
Anton
Пользователь
 
Регистрация: 06.08.2007
Сообщений: 43
По умолчанию

так и стоит
Anton вне форума Ответить с цитированием
Старый 18.04.2013, 15:59   #4
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Вообщем смысл такой, лишние слеши не должны попадать в базу. А у вас они похоже попадают. Т.е. проблему нужно решить чтобы не было вообще лишних слешей, а не вырезанием их при выводе.

А что если проверить параметр magic_quotes_gpc, посмотрев результаты работы функции:

Код:
echo phpinfo();
Какие у вас результаты?

Код:
magic_quotes_gpc	Off	Off
magic_quotes_runtime	Off	Off
magic_quotes_sybase	Off	Off
Что именно у вас за экранировано, приведите пример.

Последний раз редактировалось dr.Chas; 18.04.2013 в 16:02.
dr.Chas вне форума Ответить с цитированием
Старый 18.04.2013, 16:09   #5
Anton
Пользователь
 
Регистрация: 06.08.2007
Сообщений: 43
По умолчанию

все параметры выключены. Вот end\'to-end.
Anton вне форума Ответить с цитированием
Старый 18.04.2013, 16:15   #6
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Перед самым сохранением в бд (перед запросом), выведите данные, что там будет:

end\'to-end.

или так

end\\'to-end.
dr.Chas вне форума Ответить с цитированием
Старый 18.04.2013, 16:20   #7
Anton
Пользователь
 
Регистрация: 06.08.2007
Сообщений: 43
По умолчанию

end\\\\\'to-end
Anton вне форума Ответить с цитированием
Старый 18.04.2013, 16:29   #8
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Где то в коде лишние экранирование происходит похоже. Ищите лишние функции: addslashes, mysql_real_escape_string()
dr.Chas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильное экранирование строки prizrak1390 JavaScript, Ajax 4 09.01.2013 00:15
Экранирование символов Lindemann66 C/C++ Базы данных 3 27.07.2011 13:29
Экранирование кавычек в С Antoha Общие вопросы C/C++ 7 16.05.2010 21:02
Экранирование символов Roms PHP 2 15.05.2010 13:09
Экранирование кавычек в Delphi kiber_punk Общие вопросы Delphi 7 29.12.2008 19:28