Hallo,
weis jemand eine möglichkeit dies zu realisieren?
if ($email != "" AND !preg_match("/[1]+@.+.\D{2,5}$/", $email)) {
$errors[] = "die E-Mail-Adresse sieht nicht richtig aus";
}Ich habe es mir irgendwann so von irgendwo angeeignet und es funktioniert bei mir, vielleicht hilft es dir.
ich hab mir irgendwann mal das zusammengeschustert ;-)
_EMAILDOPPELT = damit wird überprüft, ob die eMail schon in der DB eingetragen ist
_EMAILCHECK = damit wird geprüft, ob der Syntax richtig ist
_EMAILPING = damit wird geprüft, ob die Domain ein Ping zurück gibt
die Werte kann ich in meiner Config Datei entweder auf true oder false setzen..
function _emailCheck($eMail){
global $language;
$check[0] = false;
if(empty($eMail)){
$check[0] = true;
$check[1][] = $language['LANG_REGISTER_FEHLER_EMAIL1'];
}
else{
if (_EMAILDOPPELT){
$row = _db_select('_id', 'auth', '_email', $eMail);
if($row){
$check[0] = true;
$check[1][] = $language['LANG_REGISTER_FEHLER_EMAIL2'];
}
}
if (_EMAILCHECK){
if (!eregi('^([a-z0-9.\_-]+)@([a-zäöü0-9.-]+.[a-z]{2,})$', $eMail)){
$check[0] = true;
$check[1][] = $language['LANG_REGISTER_FEHLER_EMAIL3'];
}
}
if (_EMAILPING && !$check[0]){
require ('Net/Ping.php');
$domain = strstr($eMail, '@');
$domain = substr($domain, 1);
$ping = Net_Ping::factory();
if(!PEAR::isError($ping)){
$ping->setArgs(array('count' => 1));
$result = $ping->ping($domain);
if (isset($result->message)){
$check[0] = true;
$check[1][] = _textReplace($language['LANG_REGISTER_FEHLER_EMAIL4'], array($domain));
}
}
}
}
return $check;
}
^@ ↩︎