İşte benim kod:
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('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $email);
}
}
Ben diyorum İşte burada:
$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("s...@....com");
$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);
}
}
Ben eğer deyimi $ emailResult kaldırmak ise çalışır. Neyi yanlış yapıyorum. Ben dikkate ancak daha sonra doğru veya yanlış döndüren işlevler hakkında önceki yorum alacağım. Şu anda ben deyim bu düzeltmek gerekir. Teşekkürler. (Bazı değişkenler yerde ayarlanır. Burada bilmek istediğiniz bütün ifade çalışmak durumunda nasıl olduğunu.)