- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 - 46
 - 47
 - 48
 - 49
 - 50
 - 51
 - 52
 - 53
 - 54
 - 55
 - 56
 - 57
 - 58
 - 59
 - 60
 - 61
 - 62
 - 63
 - 64
 - 65
 - 66
 - 67
 - 68
 - 69
 - 70
 - 71
 - 72
 - 73
 - 74
 
                        <?php
function import_var($name,$source,$type,$maxlen=0) {
	$retarr=array();
	if(is_array($name)) { // если нужно обработать массив с именами
		foreach($name as $v) {
			$retarr[$v] = import_var($v,$source,$type,$maxlen);
			// рекурсивно запускаем себя же
		}
	if(sizeof($retarr)>0) return $retarr; // возвращаем массив
	}
	// если нужно обработать одну переменную
	switch($source) {
		case 'G':
			if (isset($_GET[$name])) {
				$var=$_GET[$name];  // из GET
			}
		break;
		case 'P':
			if (isset($_POST[$name])) {
				$var=$_POST[$name];  // из POST
			}
		break;
		case 'C':
			if (isset($_COOKIE[$name])) {
				$var=$_COOKIE[$name];  // из Cookie
			}
		break;
	}
	if(!isset($var)) return false; // если переменная существует
	if(is_array($var)) return false; // и если это не массив...
	if(get_magic_quotes_gpc()) $var = stripslashes($var);
	// убираем лишние бэкслэши
	if(empty($var)) return false; // если переменная пуста
	if ($maxlen>0) $var = substr($var,0,$maxlen); //обрубаем лишнее
	switch($type) { // теперь обрабатываем в соответствии с типом
		case 'INT' : // число integer
			return is_integer($var) ? $var : intval($var);
		break;
		case 'NUM' : // число integer или float
			return is_numeric($var) ? $var : false;
		break;
		case 'HTML' : // текст, в котором могут содержаться тэги
			return trim(htmlspecialchars($var));
		break;
		case 'SQL' : // строка, которая попадет в SQL-запрос
			return mysql_real_escape_string(htmlspecialchars($var));
		break;
		case 'MAIL'	: // email-адрес
			return preg_match('/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{2,4}$/',$var) ? $var : false;
		break;
		case 'ALPHA' : // только буквенные символы
			return preg_match("/^[а-яА-ЯёЁa-zA-Z]+$/",$var) ? $var : false;
		break;
		case 'ALPHANUM' : // числовые и буквенные символы
			return preg_match("/^[а-яА-ЯёЁa-zA-Z0-9]+$/",$var) ? $var : false;
		break;
		case 'MD5' : // md5-хэш
			return preg_match("/^[a-fA-F0-9]{32}+$/",$var) ? $var : false;
		break;
		case 'SHA1' : // sha1-хэш
			return preg_match("/^[a-fA-F0-9]{40}+$/",$var) ? $var : false;
		break;
		case 'BOOL': // булева величина
			return ($var=="1" || $var=="true" || $var=="on") ? true : false;
		break;
	}
}
?>
                                     
        
            http://raz0r.name/releases/funkciya-dlya-obrabotki-vxodyashhix-dannyx/