Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для apotafet
1 / 1 / 0
Регистрация: 27.08.2013
Сообщений: 57

Валидация данных перед записью в БД

11.11.2013, 20:41. Показов 2192. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Подскажите пожалуйста, как при внесении данных в таблицу MySQL убирать из этих данных все кроме цифр от 0 до 9, скобок () и плюса.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2013, 20:41
Ответы с готовыми решениями:

Валидация данных в таблицах перед загрузкой в систему
Добрый день. В 10 таблицах хранится данные, перед загруско в систему данные надо проверить (На NULL/Empty/0.00 и т/д) Задача явно не...

Обработка данных перед записью в бд
Вводится лоиг и пароль в форму, потом записывается в базу. Как сделать, что если хотябы логин или пароль пустые, то в базу не записывается...

Проверка данных перед записью в модель
Здравствуйте! В общем, возникла следующая ситуация: Дан QListView, к которому прикручена модель QStringListModel и кастомный делегат...

4
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2013, 21:36
PHP
1
$str = preg_replace('/[^\\d()+]/', '', $str);
Только вопрос. Зачем?

Добавлено через 23 секунды
Цитата Сообщение от apotafet Посмотреть сообщение
Валидация данных
и это не валидация данных
0
 Аватар для apotafet
1 / 1 / 0
Регистрация: 27.08.2013
Сообщений: 57
11.11.2013, 23:00  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
$str = preg_replace('/[^\\d()+]/', '', $str);
Только вопрос. Зачем?

Добавлено через 23 секунды

и это не валидация данных
Вы правы. Перед добавлением в базу у меня идет несколько условий, это проверка на запрещенные символы, и т.д., но вот пробелы разрешены, для удобства пользователя. Вот только в базу надо класть данные уже без пробелов. Для этого перед sql запросом нужно очистить эти данные от пробелов, оставив лишь цифры, скобки и плюс.

Добавлено через 1 час 5 минут
Да, все работает, спасибо! Я вот только не пойму, что из этого кода
PHP
1
$str = preg_replace('/[^\\d()+]/', '', $str);
разрешает вводить цифры? Плюс и скобки вижу, понятно, но с цифрами как? И еще, подскажи, эта обрезалка не заменит такого условия?
PHP
1
if (eregi ("[~!?,#$%^&*_'§¡;<>\/|]", $peremennaya))
Тут я валидирую на наличие указанных мной символов в данных, а тот код что указал ты, обрезает все кроме того, что мы разрешили, и заносит в базу уже чистые данные. Как на твой взгляд, мой код можно при этом опустить? И как будут обстоять дела с инъекциями?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2013, 23:16
Цитата Сообщение от apotafet Посмотреть сообщение
что из этого кода разрешает вводить цифры?
вот это
Цитата Сообщение от apotafet Посмотреть сообщение
\\d

Цитата Сообщение от apotafet Посмотреть сообщение
мой код можно при этом опустить
можно
Цитата Сообщение от apotafet Посмотреть сообщение
И как будут обстоять дела с инъекциями?
подстраховаться лишним не будет
0
 Аватар для apotafet
1 / 1 / 0
Регистрация: 27.08.2013
Сообщений: 57
12.11.2013, 04:31  [ТС]
Большое спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2013, 04:31
Помогаю со студенческими работами здесь

Модерация загруженных данных перед записью в БД
Здравствуйте, есть интернет магазин, хочу чтобы пользователи могли добавлять товары, перед тем как товары добавятся они должны пройти...

Контроль данных в DBGrid перед записью
В таблице все поля обязательны для заполнения. Использую связку MyTable -&gt; MyDataSource -&gt; DBGridEh. Как проконтролировать...

Как очистить файл перед записью данных
Public Sub Write_ini(Section As String, Item As String, Value As String) 'Вот сюда нужна очистка. Call...

Фильтрация введённых данных перед записью в базу
Доброго времени суток. Совсем недавно начал изучать РНР и вот сегодня я зациклился на функциях фильтрации введённых данных перед...

Обработка ячеек перед записью в базу данных
Допустим имеется массив $records, в котором имеются данные, считанные из файла xlsx. Эти данные массива $records теперь нужно поместить в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru