Я впервые использую php, и я понятия не имею, что я делаю. Я взял этот шаблон и закодировал html-форму, все работает, за исключением того, что нет обязательных полей, поэтому он может отправить пустое электронное письмо, если вы нажмете «Отправить». Я хотел бы, чтобы появилось сообщение об ошибке, когда входные данные ‘name’ и ’email’ и ‘message’ пусты. Кто-нибудь может помочь?
<?php
$EmailFrom = "[email protected]";
$EmailTo = "[email protected]";
$Subject = "T/V/C Inquiry";
$Name = Trim(stripslashes($_POST['Name']));
$Tel = Trim(stripslashes($_POST['Tel']));
$Email = Trim(stripslashes($_POST['Email']));
$Message = Trim(stripslashes($_POST['Message']));
// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.php\">";
exit;
}
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.php\">";
}
?>
Ты можешь использовать empty
проверить, является ли переменная пустой.
$validationOK = true;
if(empty($Name) OR empty($Tel) OR empty($Email) OR empty($Message)) {
$validationOK = false;
}
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.php\">";
exit;
}
Других решений пока нет …