CK wrote:
Hi,
My script is working, but valid returns true even if the user is
bogus. What needs changing so both conditions have to match, the
following attempt returned "unexpected logical...."
if (getmxrr($domaintld,$mxrecords)) &&
if(fsockopen($domaintld,25,$errno,$errstr,30)) {
$valid = true;
}
You don't need to write the second 'if', just wrap the two conditionals
in parentheses:
if ( getmxrr($domaintld,$mxrecords) &&
fsockopen($domaintld,25,$errno,$errstr,30) )
$valid = true;
You could equally use nested conditionals:
if (getmxrr($domaintld,$mxrecords)) {
if (fsockopen($domaintld,25,$errno,$errstr,30))
$valid = true;
}
There is no need for the second $valid = false in your code below, since
you define that at the start.
Edward
The following works, but needs the conditional mentioned...
<?php
$email = "lotus@xxxxxxxxxxxxxxx";
$valid="";
function validate_email($email)
{
// Create the syntax of email with validation regular expression
$regexp =
"^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";
// Presume that the email is invalid
$valid = false;
// Validate the syntax
if (eregi($regexp, $email))
{
list($username,$domaintld) = split("@",$email);
// Validate the domain
if (getmxrr($domaintld,$mxrecords))
$valid = true;
}
// attempts a socket connection to mail server
if(fsockopen($domaintld,25,$errno,$errstr,30)) {
$valid = true;
} else {
$valid = false;
}
return $valid;
}
if (validate_email($email))
echo "Email is valid!";
else
echo "Email is invalid!";
?>
--PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php