Hier auszuführen ist mein Code:PHP-Code wird nicht mit bestimmten Variablen
class FormValidator {
private $firstname;
private $lastname;
private $email;
private $fields_with_lengths = array('first' => 2, 'last' => 2);
private $color = '<span style="color:#FF0000">';
function checkFirst($firstname) {
$first_error = NULL;
if(strlen(trim($firstname)) < $this->fields_with_lengths['first']){
$first_error = $this->color . 'Please enter more than ' . $this->fields_with_lengths['first'] . ' characters.</span>';
}
return $first_error;
}
function checkLast($lastname) {
$last_error = NULL;
if(strlen(trim($lastname)) < $this->fields_with_lengths['last']){
$last_error = $this->color . 'Please enter more than ' . $this->fields_with_lengths['last'] . ' characters.</span>';
}
return $last_error;
}
function validateEmail($email){
return preg_match('/^[^@][email protected][a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $email);
}
}
Hier ist, wo ich es nennen:
$validator = new FormValidator();
$firstResult = $validator->checkFirst($_POST['firstname']);
$lastResult = $validator->checkLast($_POST['lastname']);
$emailResult = $validator->validateEmail($_POST['emailaddress1']);
if (is_null($firstResult) && is_null($lastResult) && $emailResult) {
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->AddAddress("[email protected]");
$mail->Subject = "test";
$mail->MsgHTML($messageHTML);
redirectULS('english/forms/thankyou.php');
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
//$bridge->pushLead($lead);
}
}
Dies funktioniert nur, wenn ich $ emailResult aus der if-Anweisung entfernen . Was mache ich falsch. Ich werde die früheren Kommentare über Funktionen berücksichtigen, die später nur wahr oder falsch zurückgeben. Im Moment muss ich diese if-Anweisung reparieren. Vielen Dank. (Einige Variablen werden an anderer Stelle gesetzt. Alles, was ich hier wissen wollen, ist, wie die if-Anweisung an die Arbeit.)
Was funktioniert nicht? Was passiert genau? Welche Fehler bekommen Sie, wenn überhaupt? –
Ich bekomme keine Fehler. Der Code in der if-Anweisung wird nicht mit der Variablen $ emailResult ausgeführt. Sogar für sich. Wenn ich es entferne, wird der Code in den geschweiften Klammern ausgeführt. Es ist nur die eine Variable. – sehummel