Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод кавычек

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Саня_1991
Отправлено: 31 Мая, 2014 - 00:05:16
Post Id



Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2014  
Откуда: Первомайск Украина


Помог: 0 раз(а)




Здрасте.
Есть запись в таблице в ней кавычки со слешем ( после mysql_real_escape_string() )
При выводе в браузер нужно что бы кавычка выводилась без слеша, а выводиться с ним.
И ище при записе пробывал делать так:
$text = str_replace ( "'", "'", $text );
$text = str_replace ( '"', """, $text );
$text = mysql_real_escape_string ( $text );
и всё равно в таблице кавычки со слешем.
Подскажите что не так. Спасибо.
(Добавление)
Исправил. На выводе сделал так:
$mess = str_replace ( "\'", "'", $mess );
$mess = str_replace ( '\"', '"', $mess );
$mess = str_replace ( "\'", "'", $mess );
$mess = str_replace ( "\"", '"', $mess );
Подскажите правильно или нет.
 
 Top
LIME
Отправлено: 31 Мая, 2014 - 10:29:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




не правильно где то при сохранении
но раз так то я бы http://www.php.net/manual/ru/fun...ntity-decode.php
(Добавление)
http://php.net/manual/en/functio...htmlentities.php
http://ru2.php.net/manual/en/fun...stripslashes.php
 
 Top
Саня_1991
Отправлено: 31 Мая, 2014 - 12:09:09
Post Id



Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2014  
Откуда: Первомайск Украина


Помог: 0 раз(а)




Заменил эту часть:
$mess = str_replace ( "\'", "'", $mess );
$mess = str_replace ( '\"', '"', $mess );
$mess = str_replace ( "\'", "'", $mess );
$mess = str_replace ( "\"", '"', $mess );
на такое:
$mess = stripslashes ( $mess );
Правильно?
А в базе сохраняет так: \' и так \"
 
 Top
LIME
Отправлено: 31 Мая, 2014 - 12:14:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Саня_1991 пишет:
Правильно?
зависит где использовать значения
если в атрибуте тега то придется заменить на сущность
а в базе не должно так сохранять
видимо кавычки экранируются дважды
то есть сами создаем проблему сами решаем
подебажь этот момент
 
 Top
Саня_1991
Отправлено: 31 Мая, 2014 - 12:17:47
Post Id



Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2014  
Откуда: Первомайск Украина


Помог: 0 раз(а)




Понял. Спасибо за ответ и совет
(Добавление)
При записи вот так
$text = mysql_real_escape_string ( $text );
А в табл. все равно \' \"
При выводе просто ' "
 
 Top
LIME
Отправлено: 31 Мая, 2014 - 12:26:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




возможно http://www.php.net/manual/ru/sec....magicquotes.php
плохая практика
если так то лучше отключить или откроется уязвимость при перехода на старшие версии PHP в будущем
(Добавление)
и учись дебажить
например тут надо глянуть что приходит в mysql_real_escape_string
http://phpfaq[dot]ru/debug
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB