PHP - Doğrulama Örneği

Zorunlu alan, alanın uygun şekilde doldurulup doldurulmadığını kontrol edecektir. Çoğu durumda kullanacağız* gerekli alan için sembol.

Doğrulama nedir?

Doğrulama, kullanıcı tarafından gönderilen girdiyi kontrol etmek anlamına gelir. PHP'de iki tür doğrulama vardır. Bunlar aşağıdaki gibidir -

  • Client-Side Validation - Doğrulama, istemci makine web tarayıcılarında gerçekleştirilir.

  • Server Side Validation - Veriler gönderildikten sonra, veriler bir sunucuya gönderilir ve sunucu makinede doğrulama kontrolleri gerçekleştirir.

Alan için bazı Doğrulama kuralları

Alan Doğrulama Kuralları
İsim Gerekli harfler ve boşluklar olmalı
Eposta Gerekli olmalı @ ve .
İnternet sitesi Geçerli bir URL gerektirmeli
Radyo En az bir kez seçilebilir olmalıdır
Onay Kutusu En az bir kez kontrol edilebilir olmalıdır
Aşağıya doğru açılan menü En az bir kez seçilebilir olmalıdır

Geçerli URL

Aşağıdaki kod, URL'nin doğrulanmasını gösterir

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

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

Yukarıdaki sözdizimi, belirli bir URL'nin geçerli olup olmadığını doğrular. Bazı anahtar kelimelere https, ftp, www, az, 0-9, .. vb. İzin vermelidir.

Geçerli e-posta

Aşağıdaki kod, E-posta adresinin doğrulanmasını gösterir

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

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

Yukarıdaki sözdizimi, verilen E-posta adresinin doğru yapılıp yapılmadığını doğrulayacaktır. Değilse, bir hata mesajı gösterecektir.

Misal

Aşağıdaki örnek, gerekli alan doğrulamasına sahip formu göstermektedir

<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>

Aşağıdaki sonucu üretecektir -