Page 1 of 1

checking return

Posted: Wed Aug 30, 2006 6:26 am
by rsmarsha

Code: Select all

function check_email_address($email) {
if (isset($_POST['email']))
		{
  // First, we check that there's one @ symbol, and that the lengths are right
  if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
    // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
    return false;
  }
  // Split it into sections to make life easier
  $email_array = explode("@", $email);
  $local_array = explode(".", $email_array[0]);
  for ($i = 0; $i < sizeof($local_array); $i++) {
     if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
      return false;
    }
  }  
  if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
        return false; // Not enough parts to domain
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
      if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
        return false;

      }
    }
  }
  return true;
		}
}
How do i check if the functions returned true or false?

Like this?

Code: Select all

if (check_email_address($email)=='true')

Posted: Wed Aug 30, 2006 6:29 am
by blackbeard
it's returning a boolean value, all you need to do is:

Code: Select all

if (check_email_address($email))
What you have in the if statement won't work because 'true' is a string.

Posted: Wed Aug 30, 2006 6:32 am
by rsmarsha
ah ok and that loop will run if the function returns true?

Posted: Wed Aug 30, 2006 6:41 am
by volka
what loop?

Posted: Wed Aug 30, 2006 6:45 am
by rsmarsha

Code: Select all

if (check_email_address($email)) 
{
//code
}
Would that only run if true was returned?

Posted: Wed Aug 30, 2006 7:39 am
by jayshields
rsmarsha wrote:

Code: Select all

if (check_email_address($email)) 
{
//code
}
Would that only run if true was returned?
I think it would only run if anything except for FALSE/NULL/0/empty string is returned.

Test it yourself/Wait for someone more knowledgeable to reply/Read the manual.

Ps. I love /

Posted: Wed Aug 30, 2006 7:59 am
by s.dot
to check if the email is valid (returns true)

Code: Select all

if(check_email_address($email))
{
   //if the email is valid, the code inside here will run
}
to check if the email is not valid (returns false)

Code: Select all

if(!check_email_address($email))
{
   //the code inside here will run
}