
ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email);
At the moment that only checks the string ($email), but does not does not output
anything.So next we need to write an IF statement that returns a boolean value, if the
string does not match the regular expressions.
if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email))
{
return FALSE;
}
That is the basic validation bit, but now we can do even more validation.
What we will do next is check the domain name after the @ is a real domain name.
(We do this by checking if an MX record exists for that domain name and then
we check if port 25 is open for that domain name, which makes sure that the
domain name is in use.)
list($Username, $Domain) = split("@",$email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
Now to finish it all off we put those last two pieces of code togther in a function,
so we can re-use again and again. If you are not understanding the code, ignore everything we said above and copy-paste this code on the top of your PHP code.
function checkEmail($email)
{
if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email))
{
return FALSE;
}
list($Username, $Domain) = split("@",$email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
}
Now all thats needed is that we call the function and check the boolean output. For beginners, whenever you want to check an e-mail, just call this function:
if(checkEmail(johndoe@example.com) == FALSE)
{
echo "E-mail entered is not valid.";
}
else
{
echo "E-mail entered is valid.";
}
And your done! P.S. you can replaced 'johndoe@example.com' with a variable or any e-mail address you'd like.
Copyright © 2000-2008 Spoono, LLC. All rights reserved.
Network: Reseller Web Hosting by Spoono Host | Spoonloads | Absolute Cross
Terms of Service | Privacy Policy.