Sven Rautenberg: return Problem

Beitrag lesen

function check_email($email)
{
if($email=="email@server.de"||valid_email($email)!=TRUE)
{
  return -1;
}
else
{
  return 1;
}
}

function valid_email ($email)
{
   if  (eregi("[1]([-_.]?[0-9a-z])*@0-9a-z*\.[a-wyz]a-z?$", $email, $check))
{
      if (getmxrr(substr(strstr($email, '@'), 1), $hosts_found))
  {
         return TRUE;
       }

else {return FALSE; }

}

else {

return FALSE;

}

}

Du hast dich in der zweiten Funktion verhaspelt (vermutlich). Der letzte ausgeführte Befehl war immer "return FALSE;", was natürlich nicht im Sinne des Erfinders ist. Du mußt eine if-else-Abfrage machen, da du den zweiten return-Befehl sonst nicht überspringst. Und damit die innere, zweite if-Abfrage im Fehlerfall auch FALSE zurückgibt, muß auch dort ein else stehen. Sieht zwar dumm aus, ist aber der einfachste Weg.

- Sven Rautenberg


  1. 0-9a-z ↩︎