2 Stimmen

Rückgabe negativer Werte

Ich habe diese sehr einfache Funktion...

function send_mail($to, $from, $from_mail, $subject, $message) {

  if ( empty($from) || empty($from_mail) || empty($subject) || empty($message) ) {
      return -1;
  }

  if ( isset ($_SESSION['last_mailed']) )
  {
    if ( $_SESSION['last_mailed'] + 180 < time() )
        return -2;
  }
  $_SESSION['last_mailed'] = time();

  if ( !validEmail($from_mail) )
     return -3;

  $from = strip_mail_headers_single($from);
  $from_mail = strip_mail_headers_single($from_mail);
  $subject = strip_mail_headers_single($subject);
  $message = strip_mail_headers_multi($message);

  return mail($to, $subject, $message, "From: $from <$from_mail>\r\n");

}

if ( !empty($_POST) ) {
  $result = send_mail($mail_to, $_POST['from'], $_POST['from_mail'], $_POST['subject'], $_POST['message']);

  if ( $result == -1 ) 
  {
      echo "<p>You need to complete all the fields.</p>";
  } 
  elseif ( $result == -2 ) 
  {
      echo "<p>You can only send one mail every three minutes.</p>";
  } 
  elseif ( $result == -3 ) 
  {
      echo "<p>Please enter a valid email address.</p>";
  } 
  else 
  {
      echo "<p>Mail sent successfully!</p>";
  }
}

Ich erhalte einige seltsame Ergebnisse. Die mail() zurückkehrt, wird das Ergebnis auf 1 gesetzt, und die E-Mail wird gesendet. Allerdings, " if ( $result == -1 ) " aus irgendeinem Grund den Wert "true" und die entsprechende Fehlermeldung wird ausgedruckt. Woran liegt das? Hat jemand eine Idee?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X