PHP 验证示例

PHP 验证示例

必填字段将检查字段是否以正确的方式填充。在大多数情况下,我们会使用 ***** 符号来表示必填字段。

什么是验证

验证意味着检查用户提交的输入。PHP中有两种类型的验证。它们如下:

  • 客户端验证 - 验证是在客户端机器的Web浏览器上执行的。

  • 服务器端验证 - 在数据提交后,数据会被发送到服务器并在服务器机器上执行验证检查。

一些字段的验证规则

字段 验证规则
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,0-9等。

有效的电子邮件

下面的代码演示了电子邮件地址的验证。

$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);
            returndata;
         }
      ?>

      <h2>Absolute classes registration</h2>

      <span class = "error">* required field.</span>

      <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 echonameErr;?></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 echowebsiteErr;?></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>";
         echoname;
         echo "<br>";

         echo email;
         echo "<br>";

         echowebsite;
         echo "<br>";

         echo comment;
         echo "<br>";

         echogender;
      ?>

   </body>
</html>

它将产生以下结果 −

PHP 验证示例

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程