آموزش اعتبار سنجی در PHP

3 سال پیش
آموزش اعتبار سنجی در PHP

آموزش اعتبار سنجی در PHP

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش اعتبار سنجی در PHP خواهیم پرداخت.

قسمت مورد نیاز بررسی می کند که آیا فیلد به روش مناسب پر شده است یا خیر. در بیشتر موارد از نماد * برای قسمت مورد نیاز استفاده خواهیم کرد.

اعتبار سنجی چیست؟

اعتبار سنجی به معنای بررسی ورودی ارسال شده توسط کاربر است. دو نوع اعتبارسنجی در PHP وجود دارد. آنها به شرح زیر هستند –

  • اعتبار سنجی سمت کاربر- اعتبار سنجی در مرورگرهای وب دستگاه مشتری انجام می شود.
  • اعتبار سنجی سمت سرور – داده ها پس از ارسال توسط داده ها ، به یک سرور ارسال شده و بررسی های اعتبارسنجی را در دستگاه سرور انجام می دهند.

برخی از قوانین اعتبار سنجی برای رشته

 

فیلد قانون اعتبار سنجی
Name حروف و فضاهای سفید لازم می باشد
Email @ و. لازم می باشد
Website باید یک URL معتبر داشته باشد
Radio باید حداقل یک بار قابل انتخاب باشد
Check Box باید حداقل یک بار قابل بررسی باشد
Drop Down menu باید حداقل یک بار قابل انتخاب باشد

 

URL معتبر

کد زیر اعتبار سنجی URL را نشان می دهد

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

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

 

در بالا از نحو تأیید می شود که آیا URL مشخصی معتبر است یا خیر. این باید برخی از کلمات کلیدی به عنوان https ،ftp ،www ، a-z ،۰-۹ ، .. و غیره را مجاز کند.

ایمیل معتبر

کد زیر اعتبار سنجی آدرس ایمیل را نشان می دهد

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

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

 

در بالا از نحو، بررسی می شود که آیا آدرس ایمیل داده شده به خوبی شکل گرفته است یا خیر. اگر اینگونه نباشد، پیام خطایی را نشان می دهد.

مثال

مثال زیر فرم با اعتبار صحت مورد نیاز را نشان می دهد

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

 

خروجی به صورت زیر می باشد

Validation Example

 

منبع.

 

لیست جلسات قبل آموزش PHP

  1. آموزش PHP
  2. معرفی PHP
  3. آموزش تنظیمات محیط PHP
  4. آموزش نحو PHP
  5. آموزش انواع متغیر در PHP
  6. آموزش انواع ثابت ها در PHP
  7. آموزش انواع عملگرها در PHP
  8. آموزش تصمیم گیری در PHP
  9. آموزش انواع حلقه در PHP
  10. آموزش آرایه ها در PHP
  11. آموزش رشته ها در PHP
  12. آموزش مفاهیم وب در PHP
  13. آموزش روش های  GET & POST در PHP
  14. آموزش Inclusion فایل در PHP
  15. آموزش پرونده ها و I / O در PHP
  16. آموزش توابع در PHP
  17. آموزش کوکی ها در PHP
  18. آموزش جلسات در PHP
  19. آموزش ارسال ایمیل با استفاده از PHP
  20. آموزش بارگذاری پرونده در PHP
  21. آموزش استاندارد کدگذاری در PHP
  22. آموزش متغیرهای از پیش تعریف شده در PHP
  23. آموزش عبارات منظم در PHP
  24. آموزش مدیریت خطا و استثنا در PHP
  25. آموزش اشکال زدایی در PHP
  26. آموزش تاریخ و زمان در PHP
  27. آموزش MySQL در PHP
  28. آموزش AJAX در PHP
  29. آموزش XML در PHP
  30. آموزش برنامه نویسی شی گرا در PHP
  31. آموزش PHP برای توسعه دهندگان C
  32. آموزش PHP برای توسعه دهندگان PERL
  33. آموزش معرفی فرم در PHP
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه