Quelltext der Datei: http://www.michaelster.ch/lernen/form_func.php

Dateigrösse: 5.17 kb

[Anzeige ohne Zeilennummern]


  1 <?php
  2 
  3 /*** Einfache Browserweiche: msie on windows or not ***/
  4 $browser = strtolower(@$_SERVER['HTTP_USER_AGENT']);
  5 $browser = strstr($browser, "msie") && strstr($browser, "win") ? true : false;
  6 
  7 
  8 /*** callback isMSIE: returns msie version - else 0/false ***/
  9 function isMSIE() {
 10     $version = 0;
 11     $ua      = strtolower(@$_SERVER['HTTP_USER_AGENT']);
 12     if(strstr($ua,'msie'))
 13     {
 14         $temp      = split('msie',$ua);
 15         $version = floatval($temp[1]);
 16         return $version;
 17     }
 18 }
 19 
 20 
 21 /*** security check function: only a-z 0-9 , _ - and whitespace allowed ***/
 22 function _cleanInput ($str)
 23 {
 24     /*** removes anything but 0-9,a-z,-_ ***/
 25     return preg_replace("/[^0-9a-z\-_,]+/i", "", $str);
 26 }
 27 
 28 
 29 /*** callback _quoteSmart for string and array ***/
 30 function _quoteSmart ($value)
 31 {
 32    if (is_array ($value))
 33    {
 34        return array_map('_quoteSmart', $value);
 35    }
 36    else
 37    {
 38        if (get_magic_quotes_gpc())
 39        {
 40            $value = stripslashes ($value);
 41        }
 42        
 43        if ($value == '')
 44        {
 45            $value = 'NULL';
 46        }
 47        
 48        if (!is_numeric($value) || $value[0] == '0')
 49        {
 50            $value = "'" . mysql_real_escape_string($value) . "'";
 51        }
 52        
 53        return $value;
 54    }
 55 }
 56 
 57 
 58 function _filterData ($value)
 59 {
 60     if (get_magic_quotes_gpc())
 61     {
 62         $value = stripslashes($value);
 63     }
 64        $value = str_replace("javascript", "", $value);
 65        $value = str_replace("location", "", $value);
 66        $value = str_replace("DELETE", "", $value);
 67        $value = str_replace("UPDATE", "", $value);
 68        $value = str_replace("SELECT", "", $value);
 69        $value = str_replace("INSERT", "", $value);
 70        $value = str_replace("WHERE", "", $value);
 71        $value = str_replace("LIKE", "", $value);
 72     $value = trim($value);
 73     $value = strip_tags($value);
 74     return $value;
 75 }
 76 
 77 
 78 function checkEmail($email, $domainCheck = false)
 79 {
 80    if (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|museum|[0-9]{1,3})(\]?)$/', strtolower(trim($email))))
 81     {
 82         if ($domainCheck && function_exists('checkdnsrr'))
 83         {
 84             list (, $domain)  = explode('@', $email);
 85             if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A'))
 86             {
 87                 return true;
 88             }
 89             return false;
 90         }
 91         return true;
 92     }
 93     return false;
 94 }
 95 
 96 //---------------------------- Email Test inkl TLD-Check --------------------
 97 //  gibt true aus, wenn Mail-Adresse formal richtig ist und die TLD existiert
 98 function teste_email($test) {
 99     if(check_tld($test) == false) {
100         return false;
101     } else{
102         return (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|museum|[0-9]{1,3})(\]?)$/', strtolower(trim($test))));
103     }
104 }
105 // Wird in obiger Funktionen aufgerufen:
106 function check_tld($mailadresse) {
107     $mailadresse = strtolower($mailadresse);
108     // Liste (fast?) aller TLDs; 
109     $arrTLD = array("aero","biz","com","coop","edu","gov","info","int","mil","museum","name","net","org","pro","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","su","sv","sy","sz","tc","td","tf","tg","th","tj","tk","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zr","zw");
110     $posAt = strpos($mailadresse, "@");
111     $posLastDot = strrpos($mailadresse, ".");
112     
113     // sind mindestens 2 Zeichen vor dem @ ?
114     // sind zwischen dem letzten Punkt (der die TLD einleitet) und dem @ mindestens 2 Zeichen ?
115     if($posAt < 2 || ($posAt + 3) > $posLastDot) {
116         return false;
117     }
118     $tld = substr($mailadresse, ($posLastDot+1), strlen($mailadresse));
119     return (in_array($tld, $arrTLD));
120 }
121 
122 
123   /****************************************
124  *  pear error reporting function        * 
125 ****************************************/  
126 function bearbeite_pear_fehler($error_obj) 
127 {
128     if (get_class($error_obj) == 'db_error')
129     {
130         print "Datenbank-Fehler:<br>\n";
131     }
132     else
133     {
134         print "Sonstiger PEAR-Fehler:<br>\n";
135     }
136     die ($error_obj->getMessage()."\n<br>".$error_obj->getDebugInfo());
137 }
138 ?>
139