Heim  >  Artikel  >  Backend-Entwicklung  >  Formular erforderliche Felder

Formular erforderliche Felder

巴扎黑
巴扎黑Original
2016-11-12 09:26:593395Durchsuche

Aus den Validierungsregeln im vorherigen Abschnitt sehen wir, dass die Felder „Name“, „E-Mail“ und „Geschlecht“ erforderlich sind. Diese Felder dürfen nicht leer sein und müssen im HTML-Formular ausgefüllt werden.

Feldvalidierungsregeln

Name erforderlich. Muss Buchstaben und Leerzeichen enthalten.

E-Mail erforderlich. Muss eine gültige E-Mail-Adresse enthalten (einschließlich @ und .).

Website optional. Falls optional, muss eine gültige URL angegeben werden.

Kommentar optional. Mehrzeiliges Eingabefeld (Textfeld).

Geschlecht erforderlich. Eines muss ausgewählt werden.

Im vorherigen Abschnitt waren alle Eingabefelder optional.

Im folgenden Code haben wir einige neue Variablen hinzugefügt: $nameErr, $emailErr, $genderErr und $websiteErr. Diese Fehlervariablen enthalten die Fehlermeldung für das angeforderte Feld. Wir haben außerdem jeder $_POST-Variablen eine if else-Anweisung hinzugefügt. Diese Anweisung prüft, ob die Variable $_POST leer ist (über die PHP-Funktion empty()). Wenn leer, wird die Fehlermeldung in einer anderen Fehlervariablen gespeichert. Wenn nicht leer, werden Benutzereingabedaten über die Funktion test_input() gesendet:

<?php
// 定义变量并设置为空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
  }
  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
  }
  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
  }
  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }
  if (empty($_POST["gender"])) {
    $genderErr = "Gender is required";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}
?>

PHP - Fehlermeldung anzeigen

Im HTML-Formular fügen wir nach jedem angeforderten Feld ein wenig hinzu Skript. Bei Bedarf wird eine entsprechende Fehlermeldung generiert (wenn der Benutzer versucht, das Formular abzusenden, ohne die erforderlichen Felder auszufüllen):

Instanz

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
<label>Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit"> 
</form>
<!DOCTYPE HTML> 
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body> 
<?php
// 定义变量并设置为空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["name"])) {
     $nameErr = "姓名是必填的";
   } else {
     $name = test_input($_POST["name"]);
   }
   
   if (empty($_POST["email"])) {
     $emailErr = "电邮是必填的";
   } else {
     $email = test_input($_POST["email"]);
   }
     
   if (empty($_POST["website"])) {
     $website = "";
   } else {
     $website = test_input($_POST["website"]);
   }
   if (empty($_POST["comment"])) {
     $comment = "";
   } else {
     $comment = test_input($_POST["comment"]);
   }
   if (empty($_POST["gender"])) {
     $genderErr = "性别是必选的";
   } else {
     $gender = test_input($_POST["gender"]);
   }
}
function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}
?>
<h2>PHP 验证实例</h2>
<p><span class="error">* 必需的字段</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
   姓名:<input type="text" name="name">
   <span class="error">* <?php echo $nameErr;?></span>
   <br><br>
   电邮:<input type="text" name="email">
   <span class="error">* <?php echo $emailErr;?></span>
   <br><br>
   网址:<input type="text" name="website">
   <span class="error"><?php echo $websiteErr;?></span>
   <br><br>
   评论:<textarea name="comment" rows="5" cols="40"></textarea>
   <br><br>
   性别:
   <input type="radio" name="gender" value="female">女性
   <input type="radio" name="gender" value="male">男性
   <span class="error">* <?php echo $genderErr;?></span>
   <br><br>
   <input type="submit" name="submit" value="提交"> 
</form>
<?php
echo "<h2>您的输入:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>





PHP-Validierungsbeispiel


* Erforderlich Felder


Name: * >Website:


Kommentare:


Geschlecht: Weiblich Männlich



Ihre Eingabe:






Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn