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

Dateigrösse: 5.17 kb

[Anzeige mit Zeilennummern]


<?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 (get_magic_quotes_gpc())
       {
           $value = stripslashes ($value);
       }
       
       if ($value == '')
       {
           $value = 'NULL';
       }
       
       if (!is_numeric($value) || $value[0] == '0')
       {
           $value = "'" . mysql_real_escape_string($value) . "'";
       }
       
       return $value;
   }
}


function _filterData ($value)
{
    if (get_magic_quotes_gpc())
    {
        $value = stripslashes($value);
    }
       $value = str_replace("javascript", "", $value);
       $value = str_replace("location", "", $value);
       $value = str_replace("DELETE", "", $value);
       $value = str_replace("UPDATE", "", $value);
       $value = str_replace("SELECT", "", $value);
       $value = str_replace("INSERT", "", $value);
       $value = str_replace("WHERE", "", $value);
       $value = str_replace("LIKE", "", $value);
    $value = trim($value);
    $value = strip_tags($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());
}
?>