Dateigrösse: 4.53 kb
1<?php /*** Einfache Browserweiche: msie on windows or not ***/ $browser = strtolower(@$_SERVER['HTTP_USER_AGENT']); $browser = strstr($browser, "msie") && strstr($browser, "win") ? true : false; /*** callback isMSIE: returns msie version - else 0/false ***/ function isMSIE() { $version = 0; $ua = strtolower(@$_SERVER['HTTP_USER_AGENT']); if(strstr($ua,'msie')) { $temp = split('msie',$ua); $version = floatval($temp[1]); return $version; } } /*** security check function: only a-z 0-9 , _ - and whitespace allowed ***/ function _cleanInput ($str) { /*** removes anything but 0-9,a-z,-_ ***/ return preg_replace("/[^0-9a-z\-_,]+/i", "", $str); } /*** callback _quoteSmart for string and array ***/ function _quoteSmart ($value) { if (is_array ($value)) { return array_map('_quoteSmart', $value); } else { if ($value == '') { $value = 'NULL'; } if (!is_numeric($value) || $value[0] == '0') { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } } function _filterData (&$value) { return $value; } function checkEmail($email, $domainCheck = false) { if (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|museum|[0-9]{1,3})(\]?)$/', strtolower(trim($email)))) { if ($domainCheck && function_exists('checkdnsrr')) { list (, $domain) = explode('@', $email); if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A')) { return true; } return false; } return true; } return false; } //---------------------------- Email Test inkl TLD-Check -------------------- // gibt true aus, wenn Mail-Adresse formal richtig ist und die TLD existiert function teste_email($test) { if(check_tld($test) == false) { return false; } else{ return (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|museum|[0-9]{1,3})(\]?)$/', strtolower(trim($test)))); } } // Wird in obiger Funktionen aufgerufen: function check_tld($mailadresse) { $mailadresse = strtolower($mailadresse); // Liste (fast?) aller TLDs; $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"); $posAt = strpos($mailadresse, "@"); $posLastDot = strrpos($mailadresse, "."); // sind mindestens 2 Zeichen vor dem @ ? // sind zwischen dem letzten Punkt (der die TLD einleitet) und dem @ mindestens 2 Zeichen ? if($posAt < 2 || ($posAt + 3) > $posLastDot) { return false; } $tld = substr($mailadresse, ($posLastDot+1), strlen($mailadresse)); return (in_array($tld, $arrTLD)); } /**************************************** * pear error reporting function * ****************************************/ function bearbeite_pear_fehler($error_obj) { if (get_class($error_obj) == 'db_error') { print "Datenbank-Fehler:<br>\n"; } else { print "Sonstiger PEAR-Fehler:<br>\n"; } die ($error_obj->getMessage()."\n<br>".$error_obj->getDebugInfo()); } ?>