У меня есть скрипт почты PHP, который проверяет имя, адрес электронной почты и номер телефона перед отправкой почты. Это означает, что поля Имя, Адрес электронной почты и Телефон Обязательные Поля.
Я хочу, чтобы Имя и ИЛИ Электронная почта или Телефон . Таким образом, если вводятся имя и телефон, он отправляет почту, или если вводятся имя и адрес электронной почты, он также отправляет электронную почту.
В настоящий момент скрипт работает так, как будто он имеет несколько операторов IF, которые проверяют (1) имя, (2) адрес электронной почты и (3) телефон. Вот пример оператора if кода:
if ( ($email == "") ) {
$errors .= $emailError; // no email address entered
$email_error = true;
}
if ( !(preg_match($match,$email)) ) {
$errors .= $invalidEmailError; // checks validity of email
$email_error = true;
}
А вот как она отправляет почту:
if ( !($errors) ) {
mail ($to, $subject, $message, $headers);
echo "<p id='correct'>";
echo "ההודעה נשלחה בהצלחה!";
echo "</p>";
} else {
if (($email_error == true)) {
$errors != $phoneError;
/*echo "<p id='errors'>";
echo $errors;
echo "</p>";*/
}
if (($phone_error == true)) {
$errors != $emailError;
$errors != $invalidEmailError;
/*echo "<p id='errors'>";
echo $errors;
echo "</p>";*/
}
echo "<p id='errors'>";
echo $errors;
echo "</p>";
}
Это не работает, хотя. По сути, это то, что я хочу сделать: если адрес электронной почты не был введен или был введен неправильно, установите для переменной $ email_error значение true. Затем проверьте эту переменную и, если она истинна, удалите часть $ phoneError из переменной $ errors.
Чувак, я надеюсь, что здесь есть какой-то смысл. Кто-нибудь знает, почему это не работает? Он сообщает обо всех ошибках, если все поля оставлены пустыми: (
Спасибо!
Amit