У меня есть контактная форма, которая отправляет данные с помощью AJAX для почтовой программы PHP. После того, как электронное письмо было отправлено, пользователю будет показано подтверждающее сообщение. Это работает хорошо. Моя проблема как настроить подтверждающее сообщение в зависимости от того, какие поля были заполнены.
Форма имеет четыре поля. Имя (обязательно), Тема (список опций: по умолчанию «Подписаться на рассылку»), Электронная почта (обязательно) и Сообщение, и есть два случая:
1) Пользователь только хочет подписаться на рассылку. Заполнены только поля «Имя» и «Электронная почта». Подтверждение A.
2) Пользователь отправляет электронное письмо. «Имя», «Электронная почта» и «Сообщение» заполнены. Подтверждение сообщения B.
Это мой текущий код, показывает общее подтверждающее сообщение:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = strip_tags(trim($_POST["name"]));
$asunto = strip_tags(trim($_POST["asunto"]));
$email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
$message = trim($_POST["message"]);
if ( empty($name) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {
http_response_code(400);
echo "¡Error 400 bla bla...!
exit;
}
$recipient = "[email protected]";
$subject = "Nauta $name";
$email_content = "Nombre: $name\n";
$email_content = "Asunto: $asunto\n";
$email_content .= "Email: $email\n\n";
$email_content .= "Mensaje:\n$message\n";
$email_headers = "From: $name <$email>";
if (mail($recipient, $subject, $email_content, $email_headers)) {
http_response_code(200);
echo "¡Thank you! bla bla...";
}
else {
http_response_code(500);
echo "¡Error 500 bla bla...!
}
}
else {
http_response_code(403);
echo "¡Error 403 bla bla...!
}
Я попробовал следующую структуру (elseif) без удачи.
if ( ) {
echo "...";
} elseif ( ) {
echo "...";
} else {
echo "...";
}
Нет результатов.
Попробуйте спросить, является ли сообщение пустой строкой или одним пустым символом:
if ($_POST['message']!="") {
...
}
Спасибо, @Carmen. Это не сработало, но я нашел способ заставить это работать.
if (empty($_POST['message'])) {
...
}