Признаюсь я не очень внимательно прочитал топик
.
Хочу сделать несколько замечаний
1. Исходная постановка вопроса подразумевает что "данные" введённые пользователем только затем и нужны, чтобы их потом показывать.
Это, с моей точки зрения довольно однобокий подход, в целом продиктованный, понятное дело популярностью Database Driven Applications.
Т.е. среднестатистическое сознание воспринимает БД как промежуточное, временное хранилище для ввода пользователя.
Я успешно применял довольно простой подход.
- Храним ввод пользователя, вплоть до хранения сериализованного $_POST массива, очень помогает при сложносоставных структурах данных
- Храним данные для обработки, вычлененные из этого входного потока. Например слова для поиска, количество может там или числа какие-нибудь.
Т.е. мы получаем выгоду от хранения ввода пользователя неизменённым - имеем два представления - изменённое для наших нужд и представление, в котором данными оперирует пользователь.
При необходимости он может отредактировать их имеено в том виде, в котором их ввёл. Но то что получится из этих данных, то как обработает их система может сильно отличаться от того что ввёл пользователь.
---------------------
Для примитивного понимания данный подход полностью снимает все вопросы. Можно хранить два или три представления, допустим
- то что ввёл пользователь
- то что нужно выводить
- данные для поиска. Это могут быть дополнительные колонки, на которые, допустим мы делаем индекс. Или хэши текста, контрольные суммы - в целом это вычисляемые поля.
---------------------------
2. Проверки. Если система должна оперировать с данными, т.е. не просто их сохранять-выводить, а что-то с ними делать, производить действия, то проверки жизненно необходимы.
Хороший пример - email. Если его сохранить "как есть" это никак не поможет чтобы отсылать по нему письма. Поэтому данные, над которыми производятся действия, обработка данных необходимо проверять.
- Если не проверить их сразу, то что делать, когда система попадёт в исключительную ситуацию, позже?
- Как уведомить потом пользователя, о том что его данные приводят к исключительной ситуации?
- Как сохранение в первоначальном виде помогает или не помогает избежать этой ситуации?
Проверки и "вырезания" продиктованы надобностями системы обработки данных, а не пользователя. Поэтому нет необходимости заботится о сохранении их в первоначальном виде, т.к. они нужны не пользователю. Они нужны системе.
---------------------
Поэтому, я предлагаю не мешать всё в кучу и задуматься об интересной концепции
"Данные для промежуточного хранения" - сообщения в гостевухах, странички с текстом в CMS
и
"Данные для обработки" - emails, количество денег, для снятия со счёта, номер кредитки, возраст или дата рождения. Те, кто дочитал до этого места могут вступить со мной в дискуссию. Те кто не дочитал - сам себе злой буратино
.
---------------------
Далее. Данные имеющие большой объём, и лишённые какой-либо чётко означенной структуры обычно не подвергаются обработке
. Но это уже маленький довесок, не относящийся к теме беседы.