PHP梅勒:基于空字段的特定确认消息
问题描述:
我有一个联系表单,它使用AJAX将数据提交给PHP邮件程序。一旦电子邮件被发送,用户就会看到确认信息。它运作良好。我的问题是如何根据哪些字段已填充来自定义确认消息。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'])) {
...
}