我有一个PHP和HTML代码。我有4个电子邮件发送输入(名称,主题,消息),我有异常验证。现在我的编码工作:如果第一个输入是空的,然后显示错误消息,如果第二个输入是空的(并且第一个不是空的)显示错误消息,等等...我想显示每个错误消息,如果我点击发送不是一个一个用php例外。任何想法如何解决它?PHP异常错误消息
有例外处理的PHP代码:
if (isset($_POST['Send'])) {
class emailException extends Exception {}
class email_validException extends Exception {}
class subjectException extends Exception {}
class messageException extends Exception {}
$name = $_POST['name'];
$to = $_POST['to'];
$subject = $_POST['subject'];
$message = $_POST['message'];
try {
if($name == "") {
throw new Exception("Töltsd ki a mezőt(1)!");
}
if($to == "") {
throw new emailException("Töltsd ki a mezőt(2)!");
}
// Email cim ellenőrzése
if (!filter_var($to, FILTER_VALIDATE_EMAIL)) {
throw new email_validException("Hibás email cím!");
}
if($subject == "") {
throw new subjectException("Töltsd ki a mezőt(3)!");
}
if($message == "") {
throw new messageException("Töltsd ki a mezőt(4)!");
}
if ($name != "" && $to != "" && $subject != "") {
echo "Email elküldve";
$name = "";
$to = "";
$subject = "";
$message = "";
}
}
catch(emailException $e1) {
$error_mail = $e1->getMessage();
}
catch(email_validException $e1) {
$error_mail_valid = $e1->getMessage();
}
catch(subjectException $e2) {
$error_subj = $e2->getMessage();
}
catch(messageException $e3) {
$error_message = $e3->getMessage();
}
catch(Exception $e) {
$error = $e->getMessage();
}
}
HTML输入表单:
<form name="myForm" onsubmit="//return validateForm();" method="post" action="feladat9.php">
<p><input type="text" name="name" placeholder="Név" value="<?php echo $name; ?>"><label id="error_name"><?php echo $error ?></label></p>
<p><input type="text" name="to" placeholder="Címzett" value="<?php echo $to; ?>"><label id="error_email"><?php
echo "$error_mail $error_mail_valid";?></label></p>
<p><input type="text" name="subject" placeholder="Tárgy" value="<?php echo $subject; ?>"><label id="error_subject"><?php echo $error_subj ?></label></p>
<p><input type="text" name="message" placeholder="Üzenet" value="<?php echo $message; ?>"><label id="error_message"></label><?php echo $error_message ?></p>
<input type="submit" value="Send" id="send" name="Send">
</form>
将异常消息保存在数组中,而不是立即抛出异常,在检查完条件时抛出所有异常 – funsholaniyi
'$ name = isset($ _ POST ['name'])? $ _POST ['name']:“”; $ to = isset($ _ POST ['to'])? $ _POST ['to']:“”; $ subject = isset($ _ POST ['subject'])? $ _POST ['subject']:“”; $ message = isset($ _ POST ['message'])? $ _POST ['message']:“”;' – Eugen
@Eugen在哪里插入这段代码? –