Всем привет! Есть input в котором:
value="<?=htmlspecialchars($_POST['fio_prepod'], ENT_COMPAT, 'UTF-8');?>
Как видите, пытаюсь экранировать кавычки в value, т.к. пользователи в него вводят иногда данные с кавычками и строка закрывается...
Но вот проблема... На выходе, когда я вызываю эти данные из БД, получается строка /"Текст/', вместо "Текст" . Т.е. на выходе кавычки экранированные получаются... Скажите, как это поправить? Может есть способ при получении данных экранировать обратно?) Либо, возможно, я что-то делаю не так и можно адекватно их сохранять и выводить?
Забыл добавить, что все это под Wordpress работает и только сейчас до меня дошло, что именно в нем и зарыто все))) Убрал magic_quotes из wp-settings и все адекватно стало работать)))
P.S.: про кАвычки в курсе, ошибся лишь в заголовке, в самом вопросе везде правильно ведь написал :с
danyfir: если первый раз сталкиваешься с вопросом, то следует в нем разобраться.
Возьми листочек с карандашом и нарисуй схему что происходит с данными.
Если запрос имеет тип post то в принципе его можно не экранировать для вывода тому кто его ввел. Он не сможет передать его в адресной строке как get.
Далее, если не пользуешься фреймворком (в который по умолчанию вывод в шаблоне экранируется) то есть возможность забыть экранировать данные перед выводом. Тогда можно писать в базу, пропуская через htmlspecialchars(). Иначе можно оставить html теги как есть, ведь они будут наверняка проэкранированны.
Если вопрос именно в кавычках, то используя bind_params в базу запишется конкретный запрос, который вы задали, несмотря на спецсимволы mysql.