Почему escape-символы (\) появляются в одном поле формы, а не в другом?

Я создавал форму ввода базы данных. Для заметок есть три поля. Все они были построены одновременно. У них одинаковая логика и система классов, но один из них возвращается с escape-метками, когда я обновляю запись, например Я вхожу

1
2
3

и обновленная запись возвращается

1\r\n2\r\n3

Я смущен, поскольку другой возвращает текст в отформатированном виде. Можете ли вы подсказать, почему это происходит?

Когда вы говорите, что у вас есть 3 поля для заметок, все ли они теги HTML <textarea>? Или два из них HTML <input type = "text">, а тот, с которым у вас возникли проблемы, - это тег <textarea>?

Grant Wagner 18.12.2008 22:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
128
2

Ответы 2

Как бы то ни было, в вашем вопросе не хватает важной информации. Очевидно, что если все сделать идентично, то и данные будут такими же. Кроме того, вы, вероятно, не имеете в виду, что в ваших данных есть escape-метки (или вы?). В этом случае вы должны явно вызвать функцию для преобразования разрывов строк в строку, содержащую символы '\' и 'n'.

Не имея кода, я предполагаю, что вы по-другому отображаете свои данные; один раз с помощью обычного echo и один раз с помощью чего-то вроде var_dump.

Как и предположил Конрад, вашему вопросу не хватает ясности. Они оба на одной странице? Если нет, то есть ли на обеих страницах один и тот же DOCTYPE?

Самое простое решение - обращаться с ним независимо: addslashes (или mysql_real_escape_string) для INSERT и UPDATE и stripslashes для SELECT.

Другой сценарий, с которым вам нужно справиться, - это POST на странице с ошибками (например, повторно заполненной значениями сообщений). Вы должны убедиться, что значение POST представляет собой «урезанную» версию косых черт, иначе вы удвоите дополнительные косые черты; поэтому косые черты добавляются только после того, как все ваши посты валидации и верификации были завершены.

Другие вопросы по теме