【发布时间】:2016-03-26 01:43:15
【问题描述】:
我正在为我的项目构建一个 ajax/php 联系表单,其中包含以下字段:
姓名(必填)、电子邮件(必填)、主题(不需要)和网站(不需要)
一切正常,现在唯一的问题是,如果用户没有在 Subject 和或 Website 字段中输入任何内容,我收到的电子邮件会显示这两个字段,如下所示:
主题:(显示空白)
网站:(显示空白)
如果用户没有输入任何内容,是否可能根本不显示这两个字段,所以在我收到的电子邮件中我只收到:
姓名:[用户名]
电子邮件:[用户电子邮件地址]
我只是发布 PHP 代码,因为我认为这仅与 PHP 而不是 Ajax 脚本有关:
<?php
$errorMSG = "";
// NAME
if (empty($_POST["name"])) {
$errorMSG = "Name is required ";
} else {
$name = $_POST["name"];
}
// EMAIL
if (empty($_POST["email"])) {
$errorMSG .= "Email is required ";
} else {
$email = $_POST["email"];
}
// SUBJECT
$subject = $_POST["subject"];
// WEBSITE
$website = $_POST["website"];
// MESSAGE
if (empty($_POST["message"])) {
$errorMSG .= "Message is required ";
} else {
$message = $_POST["message"];
}
$EmailTo = "email@myemail.com";
$Subject = "New Message Received";
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Website: ";
$Body .= $website;
$Body .= "\n";
$Body .= "Subject: ";
$Body .= $subject;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);
// redirect to success page
if ($success && $errorMSG == ""){
echo "success";
}else{
if($errorMSG == ""){
echo "Something went wrong :(";
} else {
echo $errorMSG;
}
}
?>
谢谢大家!
【问题讨论】:
-
它可能与 PHP 有关,但与您共享的代码无关。尝试进一步调试以找到将“空白”一词添加到空字段的位置。
-
单词空白不显示我输入了空白,这意味着字段为空。我刚刚编辑了问题的那一部分以便更好地理解;)
-
您是否尝试在输入字段上设置任何验证检查?
-
只有姓名和电子邮件有验证