0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16

Не добавляется амперсанд в базу данных

06.02.2016, 20:21. Показов 1758. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь добавлять ссылки в базу данных, содержащие знак "&". Беда в том, что на амперсанде текст обрывается и заносится лишь текст до амперсанда.

Т.е. при добавлении ссылки вида "www.site.ru/index.php?id=1&simpletext" в базу заносится лишь "www.site.ru/index.php?id=1".

Добавляю так:
PHP
1
$text=mysql_real_escape_string($_POST[text]);
В чем может быть проблема?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.02.2016, 20:21
Ответы с готовыми решениями:

Не добавляется запись в базу данных
Всем привет! У меня странная проблема:-| после загрузки на сервер перестал работать count статистики! На денвере все отлично. проблема...

Не добавляется запись в базу данных
Почему этот кусок говна кода не работает? Данные приходят, всё нормально. Запрос собирается и выполняется. Но данных в таблице нет. Что не...

Не добавляется в Базу данных Яндекса
Не добавляется в Базу данных Яндекса. Выводит сообщение ошибки: "Ошибка выполнения операции. Вернитесь на форму ввода и попробуйте еще...

12
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
06.02.2016, 20:41
Попробуйте так
PHP
1
$text=mysql_real_escape_string(htmlspecialchars($_POST[text]));
Добавлено через 5 минут
и кавычки Вы забыли
PHP
1
$_POST[text]
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.02.2016, 20:43
Цитата Сообщение от dr_sleep Посмотреть сообщение
В чем может быть проблема?
В том, что этот код:
Цитата Сообщение от dr_sleep Посмотреть сообщение
PHP
1
$text=mysql_real_escape_string($_POST[text]);
в бд ничего не добавляет.
0
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
06.02.2016, 20:44  [ТС]
Jewbacabra, добавляет текст до знака амперсанда
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
06.02.2016, 20:45
Jewbacabra, мне кажется, ТС так обрабатывает POST-переменную, а далее делает запросы в БД
Цитата Сообщение от dr_sleep Посмотреть сообщение
Т.е. при добавлении ссылки вида "www.site.ru/index.php?id=1&simpletext" в базу заносится лишь "www.site.ru/index.php?id=1".
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.02.2016, 20:48
Цитата Сообщение от dr_sleep Посмотреть сообщение
добавляет текст до знака амперсанда
конкретно эта строчка ничего не добавляет.
А вообще что выведет такой код (вставить его вместо той самой строчки)
PHP
1
var_dump($_POST['text']); exit();
0
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
06.02.2016, 21:08  [ТС]
htmlspecialchars не помогло.
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
06.02.2016, 21:29
dr_sleep, размер поля в таблице позволяет сохранить полную строку?
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
06.02.2016, 21:38
если наличие амперсанда в БД необходимо, тогда, возможно, стоит про добавлении в БД амперсанд заменять на пробел или "+", а при выводе заменять обратно.
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
06.02.2016, 21:54
Цитата Сообщение от dr_sleep Посмотреть сообщение
Пытаюсь добавлять ссылки в базу данных
Покажите полный код добавления - как принимаете значение, обрабатываете и записываете.
0
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
07.02.2016, 12:33  [ТС]
Пробовал делать замену через str_replace() с амперсандом тоже самое (обрывается строка), а другие символы заменяет.

Как я понял, из textarea текст уже уходит без амперсанда.
HTML5
1
<textarea id='task_otvet' class="replyarea" cols="40" rows="5" name="otvet" style="margin-top: 5px;"></textarea>
Так что следующие манипуляции
PHP
1
2
3
4
$otvet=$_POST['otvet'];
//$otvet=str_replace("&","+",$otvet);
$otvet = mysql_escape_string(htmlspecialchars($otvet));
$otvet = iconv("utf-8", "windows-1251", $otvet);
получаются бессмысленными.

Как сделать чтобы textarea "принимала" амперсанд?
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
07.02.2016, 12:46
JS-скрипты к этому полю не подключены никакие? Может они что-то рубят.

А так должно работать, попробуйте:
PHP/HTML
1
2
3
4
5
<form>
    <textarea name="text">test&test</textarea>
    <input type="submit" />
</form>
<? print_r($_GET); ?>
0
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
07.02.2016, 13:12  [ТС]
JS у этого поля нет.

$_GET с вашего примера содержит:

Array ( [text] => test&test )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.02.2016, 13:12
Помогаю со студенческими работами здесь

Не добавляется в базу данных дата из DateTimePicker
Приветствую всех! Помогите решить следующую проблемку: есть БД в ней таблица. Так вот в ней есть столбец 'Data' с типом данных date. При...

Не добавляется информация в базу данных через форму
При добавлении товара в базу, пишет: &quot;Товар успешно добавлен&quot;. Но ничего не добавляется. форма добавления : &lt;form...

Текст с кириллицей не добавляется в базу данных SQLite
Делаю поискового робота, который парсит страницы и добавляет слова в базу данных. Так вот sql-запросы INSERT и SELECT с латиницией...

Не добавляется строка в базу данных fdb через IBQuery1 (ошибка Cannot modify a read-only dataset)
Пытаюсь работать с IBQuery1 (до этого добавлял IBTable1). По советам перешел на IBQuery IBQuery1.Insert; Form3.Show; ...

Php регистрация , не могу найти ошибку. Код выполняется, но в базу данных ничего не добавляется
&lt;?php if (isset($_POST)) { $login= htmlspecialchars($_POST); $password=htmlspecialchars($_POST); $bad=false; ...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru