Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
7 / 7 / 1
Регистрация: 29.07.2008
Сообщений: 116
1

спец символы

13.10.2009, 21:12. Показов 2982. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
парни, бьюсь уже не 1й час.
проблема состоит в том, что magic_quotes_gpc() включена и я пытаюсь передать методом "POST" переменную, в которой есть и одиночные и двойные кавычки.

stripslashes + addslashes тоже пробовал.

при выводе переданной переменной идёт "обрыв" на кавычках...либо на одиночных, либо на двойных.

нид хэлп.

вот приблизительный код:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        $query="SELECT `name`,`text` from `news` where `id`='$news_id'";
        $result=$db->query($query);
        $out=$result->fetch_assoc();
                
        $text=addslashes($out['text']);
        
        echo 
        '<form method="POST" name="editform" action="add_news.php">
        <input type="hidden" name="content" value="'.$text.'">';
        
        $name=$out['name'];
        echo '<input type="hidden" name="name" value="'.$name.'">
        </form>';
        
    echo '<script language="JavaScript">
    document.editform.submit();
    </script>';
а теперь принимаю :

PHP
1
echo $content=stripslashes($content);
но выводится инфа только до кавычек...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2009, 21:12
Ответы с готовыми решениями:

Добавление в БД спец символы
вот есть такая проблема допустим есть текст но в нём есть вот такая кака как ковычка одинарная или...

Вставка в бд, символы перевода строк и спец. символы
Вставляю в бд даные, текст. Он вставляется просто как строка, а я его вставляю как...

Спец символы
Привет всем, проблема такая: делаю курсач, построил график функции и подписал деления - PI, 2PI,...

Спец Символы.
В своем программе мне надо использовать спец символ '♥' В итоге я пишу вот так...

5
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
13.10.2009, 22:42 2
Если вставляешь что-то в html документ, то используй htmlspecialchars() с параметром ENT_QUOTES... в данном случае строка 9 должна выглядеть так (начинаю с восьмой, что бы подсветку синтаксиса не испортить)
PHP
1
2
'<form method="POST" name="editform" action="add_news.php">
<input type="hidden" name="content" value="'.htmlspecialchars($text,ENT_QUOTES).'">';
И тоже самое на 12-ой строке. Дело в том, что когда в переменной попадается кавычка (не важно экранирована она или нет), то получается что параметр value закрывается.
0
7 / 7 / 1
Регистрация: 29.07.2008
Сообщений: 116
14.10.2009, 00:32  [ТС] 3
Цитата Сообщение от Humanoid Посмотреть сообщение
Дело в том, что когда в переменной попадается кавычка (не важно экранирована она или нет), то получается что параметр value закрывается.
это понятно. кавычка - символ конца значения переменной в массиве $_POST в данном случае.
попробую, спасибо.
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
14.10.2009, 08:06 4
PHP тут ни при чём... например, есть строка
PHP
1
$s = 'Наш "Киберфорум" - самый крутой форум';
И мы её пытаемся вставить в input
PHP
1
echo '<input type="text" value="'.$s.'" />';
В результате HTML код получится следующий:
HTML5
1
<input type="text" value="Наш "Киберфорум" - самый крутой форум" />
Как видишь, value будет равен строке "Наш "... а всё остальное браузер будет пытать распознать как другие параметры. Но так как он не знает таких параметров... да и вообще синтаксис получается подозрительный, то он их проигнорирует.
1
7 / 7 / 1
Регистрация: 29.07.2008
Сообщений: 116
14.10.2009, 10:47  [ТС] 5
Цитата Сообщение от Humanoid Посмотреть сообщение
PHP тут ни при чём... например, есть строка
PHP
1
$s = 'Наш "Киберфорум" - самый крутой форум';
В результате HTML код получится следующий:
HTML5
1
<input type="text" value="Наш "Киберфорум" - самый крутой форум" />
Как видишь, value будет равен строке "Наш "... а всё остальное браузер будет пытать распознать как другие параметры. Но так как он не знает таких параметров... да и вообще синтаксис получается подозрительный, то он их проигнорирует.
почему тогда не вывести "наш" ... "- самый крутой форум" ? ведь строка-то сама не окончена.
0
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
14.10.2009, 11:22 6
Цитата Сообщение от Малой_Киев Посмотреть сообщение
почему тогда не вывести "наш" ... "- самый крутой форум" ? ведь строка-то сама не окончена.
строка оканчивается при встрече первой же кавычки после value="
Цитата Сообщение от Humanoid Посмотреть сообщение
а всё остальное браузер будет пытать распознать как другие параметры.
Добавлено через 1 минуту
т.е Киберфорум (зеленым цветом) браузер думает, что это след. параметр
1
14.10.2009, 11:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2009, 11:22
Помогаю со студенческими работами здесь

Спец.символы
Странная ошибка: x = &quot;\x01&quot; # все ok y = &quot;\xff&quot; # ошибка y = b&quot;\xff&quot; # все ok

Символы и спец. знаки в X3
Нужно достать звезду из этого окна, но его нет в меню &quot;Инструменты&quot;. Где оно находится?

Спец символы в перечислении
Всем привет! Ребят хочу перечисление сделать: public enum RecCategoryEn { ...

HTML спец. символы
Можете подсказать как можно заменить символы HTML типа &quot;&amp;lt&quot; или &quot;&&quot; на нормальные символы,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru