で実行されません私のコードです:PHPコードは、ここで特定の変数
$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);
}
}
これだけ作品、私はif文から$ emailResultを削除する場合:私はそれを呼び出すのはここ
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);
}
}
です。私は間違って何をしています。私は後でtrueまたはfalseを返す関数についての以前のコメントを考慮に入れます。今私はこのif文を修正する必要があります。ありがとう。 (いくつかの変数は、私がここに知りたいすべてのif文が動作するように取得する方法である。他の場所で設定されている。)
どうしたらうまくいかないのですか?正確にはどうなりますか?もしあなたがどんな誤りがあれば、それを得るのですか? –
私は間違いをしないでください。 if文のコードは$ emailResult変数で実行されません。それだけでも。それを削除すると、中括弧内のコードが実行されます。それはただの変数です。 – sehummel