Netadmin.ws

Data Process v1.1
Дата: 18.05.2006 - 01:17
Тема: Сборник рецептов
Продолжая начатую тему о проверке входящих данных в предыдущей статье Data Validator v1.0, представляю вашему вниманию новый класс для обработки данных Data Process v1.1.




Помимо функции проверки валидности вводимых данных которая была описана в предыдущей статье данный класс содержит метод который делает значения переменных безопасными для использования.

Краткое описание методов класса (для более детальной информации смотрите исходник
  • Метод clean - Делает данные заданного массива безопасными для использования
  • Метод validate - Проверка и фильтр массива данных


Пример использования
Допустим мы ожидаем от пользователя номер телефона и возраст.
Допустим что наша служба не предназначена лицам менее 18 лет.
Также через форму будет передан скрытым полем id категории.

PHP:

// инициализируем класс
include_once('data_process.class.php');
$DP = new data_process();

// для начала очистим данные
$DP->clean(
    
$_POST,
    array(
        
'phone' => 'CLEAN_HTML',
        
'age' => 'INT',
        
'id' => 'INT'
    
),
    
/**
    * если указать true то данные переменные после обработки
    * станут глобальными и к ним можно будет обращаться напрямую
    */
    
false 
);


// далее проверяем данные на валидность
$errors $DP->validate(
    
$_POST,
    array(
        
'phone' => array( 
                
'req' => true// поле обязательно
                
'field_name' => 'Телефон',
                
'min' => 6// не менее 6-ти символов 
                
'regexp' => 'phone' // используем предопределенное регулярное выражение для проверки тел. номера 
            
), 
            
'age' => array( 
                
'req' => true// поле обязательно
                
'field_name' => 'Возраст',
                
'min' => 18// детям до 18 лет воспрещено 
                
'max' => 100// не ожидаем мы никого старше 
        
),
        
/**
        * просто сохраняем данную переменную для дальнейшей ручной проверки,
        * если ее тут не указать то она будет утеряна из-за того что мы зададим параметр filter
        */
        
'id' => array()
    ),
    
true // фильтровать массив от лишних полей
);

// далее поступаем на свое усмотрение
if (!empty($errors))
{
    
print_r($errors);
}
else
{
    echo 
'Все отлично!';
}
exit;



Data Process v1.1
Data Validator v1.0
Обсуждение статьи


Примечание: Данная статья является собственностью netadmin.ws, любое ее использования за пределами сайта netadmin.ws строго воспрещается.
Эта статья находится по адресу:
http://netadmin.ws/article.php?sid=81