![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Aarons |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
Приветствую вас дамы и господа. Прошу вас помочь в решении такого вопроса :
Каким образом можно заполнить переменную $test html кодом, что-бы не было проблем с ковычками. Просто при добавлении html через такой код php :
html искожается , тобишь ковычки принимают такой вид - /" или /' Если потом подгрузить эту переменную и сохранить снова , то в html ковычки становятся такими - //" С уважением , Аарон. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Во-первых, слово кавычка пишется через "а". Запомнить несложно.
Во-вторых, надо отключить в конфиге опцию magic_quotes_gpc и тогда слеш к кавычкам не будет добавляться в текстах, пришедших из формы. Это сообщение отредактировал(а) Ипатьев - 27.2.2010, 21:39 |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
тьфу.
все в голове уже перемешалось. magic_quotes_gpc с третьей попытки, вроде, получилось Это сообщение отредактировал(а) Ипатьев - 27.2.2010, 23:19 |
|||
|
||||
Demogargon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 9.1.2008 Репутация: нет Всего: 1 |
Можно вывести все красиво через heredocument.
--------------------
Дело стоит рядом со стоящим, идет за идущим, творит с творящим. Оно следует за нами подобно тени. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
А еще можно читать вопрос перед тем, как в голову ударит мысль на него ответить
|
|||
|
||||
Aarons |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
Господа. Давайте опишу проблему более подробно.
Есть форма добавления новостей в файл :
После отправки запроса, идёт проверка и добавление : Далее идёт проверка на наличие кавычек в тексте и замена их на html код : (Отрывок кода проверки)
После идёт запись новости в файл :
Даже когда в переменную $rc_text_news идёт запись не " , а " , всё равно перед " ставится \ Также и перед кавычкой ' Вот такая проблема. Не могли бы вы помочь в решении этого. p.s. Уважаемые программисты, когда я делал в другом скрипте такой метод, там добавлялось всё нормально. А в этом скрипте почему то не работает как надо. С уважением Аарон. |
||||||
|
|||||||
Sentox |
|
|||
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Слэш добавляется перед Вашим скриптом, то есть перед тем как скрипт начинает обрабатывать, програмно отключайте "волшебные кавычки" или обрабатывайте результат c удалением их(слэшей) из массива.
Это сообщение отредактировал(а) Sentox - 1.3.2010, 23:42 |
|||
|
||||
capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Я например делаю так:
И далее сохраняю в файл $text. Это сообщение отредактировал(а) capitan - 1.3.2010, 23:29 |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
зачем, интересно? вообще-то, ответ уже был дан. можно, конечно, и подробнее на этом новом для вас хостинге (где получается не так как раньше) включена такая настройка, как magic_quotes, суть её в том, чтобы добавлять во входящие данные слэши перед "опасными" символами. то есть перед кавычками. если её впадлу выключить (что делается одной строчкой в .htaccess файле), то все входящие переменные достаточно пропускать через stripslashes(), которая будет уничтожать слэши, там где они добавились. есть резонный вопрос: зачем была нужна эта настройка? ответ: для безопасной вставки данных в базу. к сожалению, горячие головы администраторов хостинга не догадались, что это нужно не всегда. следует второй вопрос: как обезопасить вставляемые данные, если мы отключаем эту настройку (либо убираем слэши)? ответ: перед самой вставкой данных в запрос их надо обрабатывать функцией mysql_real_escape_string() , если используется в качестве БД mysql. либо аналогичной, для другой базы вопрос (уже от меня), нужно ли это:
для нормального функционирования сайта? ответ: нет, не нужно. может только навредить. для того чтобы всякие кавычки, а также знаки < и > и тому подобные (типа &), не могли разрушить хтмл-вёрстку, достаточно выводимые данные пропустить через функцию htmlspecialchars(), что делают обычно на выходе, при отдачи текста в браузер эта функция с большей эффективностью сделает всё что нужно по переводу кавычек в " и прочих символов |
|||
|
||||
Aarons |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
Благодарю всех. Прописал просто в .htaccess php_value magic_quotes_gpc off .
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |