PHP - Validierungsbeispiel

Das erforderliche Feld prüft, ob das Feld ordnungsgemäß ausgefüllt ist oder nicht. In den meisten Fällen werden wir die verwenden* Symbol für das gewünschte Feld.

Was ist Validierung?

Validierung bedeutet, die vom Benutzer übermittelten Eingaben zu überprüfen. In PHP stehen zwei Arten der Validierung zur Verfügung. Sie sind wie folgt -

  • Client-Side Validation - Die Validierung wird in den Webbrowsern des Clientcomputers durchgeführt.

  • Server Side Validation - Nach der Übermittlung durch Daten wurden die Daten an einen Server gesendet und führen Validierungsprüfungen auf dem Server durch.

Einige Validierungsregeln für das Feld

Feld Validierungsregeln
Name Sollte Buchstaben und Leerzeichen erfordern
Email Sollte erforderlich sein @ und .
Webseite Sollte eine gültige URL erforderlich sein
Radio Muss mindestens einmal auswählbar sein
Kontrollkästchen Muss mindestens einmal überprüfbar sein
Dropdown-Menü Muss mindestens einmal auswählbar sein

Gültige URL

Der folgende Code zeigt die Validierung der URL

$website = input($_POST["site"]);

if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
   $websiteErr = "Invalid URL"; 
}

Die obige Syntax überprüft, ob eine bestimmte URL gültig ist oder nicht. Es sollte einige Schlüsselwörter wie https, ftp, www, az, 0-9, .. etc .. zulassen.

Gültige E-Mail

Der folgende Code zeigt die Validierung der E-Mail-Adresse

$email = input($_POST["email"]);

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
   $emailErr = "Invalid format and please re-enter valid email"; 
}

Die obige Syntax überprüft, ob die angegebene E-Mail-Adresse wohlgeformt ist oder nicht. Wenn dies nicht der Fall ist, wird eine Fehlermeldung angezeigt.

Beispiel

Das folgende Beispiel zeigt das Formular mit der erforderlichen Feldvalidierung

<html>
   
   <head>
      <style>
         .error {color: #FF0000;}
      </style>
   </head>
   
   <body>
      <?php
         // define variables and set to empty values
         $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"]);
               
               // check if e-mail address is well-formed
               if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                  $emailErr = "Invalid email format"; 
               }
            }
            
            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"]);
            }
         }
         
         function test_input($data) {
            $data = trim($data);
            $data = stripslashes($data);
            $data = htmlspecialchars($data);
            return $data;
         }
      ?>
     
      <h2>Absolute classes registration</h2>
     
      <p><span class = "error">* required field.</span></p>
     
      <form method = "post" action = "<?php 
         echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
         <table>
            <tr>
               <td>Name:</td>
               <td><input type = "text" name = "name">
                  <span class = "error">* <?php echo $nameErr;?></span>
               </td>
            </tr>
           
            <tr>
               <td>E-mail: </td>
               <td><input type = "text" name = "email">
                  <span class = "error">* <?php echo $emailErr;?></span>
               </td>
            </tr>
           
            <tr>
               <td>Time:</td>
               <td> <input type = "text" name = "website">
                  <span class = "error"><?php echo $websiteErr;?></span>
               </td>
            </tr>
            
            <tr>
               <td>Classes:</td>
               <td> <textarea name = "comment" rows = "5" cols = "40"></textarea></td>
            </tr>
            
            <tr>
               <td>Gender:</td>
               <td>
                  <input type = "radio" name = "gender" value = "female">Female
                  <input type = "radio" name = "gender" value = "male">Male
                  <span class = "error">* <?php echo $genderErr;?></span>
               </td>
            </tr>
				
            <td>
               <input type = "submit" name = "submit" value = "Submit"> 
            </td>
				
         </table>
			
      </form>
      
      <?php
         echo "<h2>Your given values are as:</h2>";
         echo $name;
         echo "<br>";
         
         echo $email;
         echo "<br>";
         
         echo $website;
         echo "<br>";
         
         echo $comment;
         echo "<br>";
         
         echo $gender;
      ?>
   
   </body>
</html>

Es wird das folgende Ergebnis erzeugt -