PHP Zeige Fehlermeldungen in der richtigen Reihenfolge und zeige die korrekten Felder wieder an

Ich habe ein E-Mail-Formular, das drei Felder, Namen, gültige E-Mail-Adresse und Kommentare überprüft. Aber wie es jetzt eingerichtet ist, da Name und Kommentare in einer Funktion sind, werden zuerst Name und Kommentare überprüft, auch wenn die E-Mail nicht gültig ist. Wie kann ich sie neu schreiben, damit die Felder in der richtigen Reihenfolge überprüft werden. Außerdem möchte ich die fehlerfreien Felder erneut anzeigen, damit der Benutzer sie nicht erneut eingeben muss. Bitte helfen Sie. Vielen Dank

<code><?php
$myemail = "[email protected]";
$yourname = check_input($_POST['yourname'], "Enter your name!");
$email = check_input($_POST['email']);
$phone = check_input($_POST['phone']);
$subject = check_input($_POST['subject']);
$comments = check_input($_POST['comments'], "Write your comments!");

if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
  {
    show_error("Enter a valid E-mail address!");
  }

exit();

function check_input($data, $problem='')
 {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
    show_error($problem);
}
return $data;
}

function show_error($myError)
{
?>
<!doctype html>
<html>
<body>
<form action="myform.php" method="post">
 <p style="color: red;"><b>Please correct the following error:</b><br />
 <?php echo $myError; ?></p>
 <p>Name: <input type="text" name="yourname" /></P>
 <P>Email: <input type="text" name="email" /></p>
 <P>Phone: <input type="text" name="phone" /></p><br />
 <P>Subject: <input type="text" style="width:75%;" name="subject" /></p>
 <p>Comments:<br />
 <textarea name="comments" rows="10" cols="50" style="width: 100%;"></textarea></p>
 <p><input type="submit" value="Submit"></p>
</form>
</body>
</html>
<?php
exit();
}
?>
</code>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage