PHP 表单验证 - 必填字段

--------------------------------------------------------------------------

本节展示如何制作必填输入字段,并创建需要时所用的错误消息。

--------------------------------------------------------------------------

PHP - 输入字段

从上一节中的验证规则中,我们看到 "Name", "E-mail" 以及 "Gender" 字段是必需的。这些字段不能为空且必须在 HTML 表单中填写。

PHP 表单验证 - 必填字段_第1张图片

在上一节中,所有输入字段都是可选的。

在下面的代码中我们增加了一些新变量:$nameErr、$emailErr、$genderErr 以及 $websiteErr。这些错误变量会保存被请求字段的错误消息。我们还为每个 $_POST 变量添加了一个 if else 语句。这条语句检查 $_POST 变量是否为空(通过 PHP empty() 函数)。如果为空,则错误消息会存储于不同的错误变量中。如果不为空,则通过 test_input() 函数发送用户输入数据:

 1 php
 2 // 定义变量并设置为空值
 3 $nameErr = $emailErr = $genderErr = $websiteErr = "";
 4 $name = $email = $gender = $comment = $website = "";
 5 
 6 if ($_SERVER["REQUEST_METHOD"] == "POST") {
 7   if (empty($_POST["name"])) {
 8     $nameErr = "Name is required";
 9   } else {
10     $name = test_input($_POST["name"]);
11   }
12 
13   if (empty($_POST["email"])) {
14     $emailErr = "Email is required";
15   } else {
16     $email = test_input($_POST["email"]);
17   }
18 
19   if (empty($_POST["website"])) {
20     $website = "";
21   } else {
22     $website = test_input($_POST["website"]);
23   }
24 
25   if (empty($_POST["comment"])) {
26     $comment = "";
27   } else {
28     $comment = test_input($_POST["comment"]);
29   }
30 
31   if (empty($_POST["gender"])) {
32     $genderErr = "Gender is required";
33   } else {
34     $gender = test_input($_POST["gender"]);
35   }
36 }
37 ?>

 

----------------------------------------------------------------------------

PHP - 显示错误消息

在 HTML 表单中,我们在每个被请求字段后面增加了一点脚本。如果需要,会生成恰当的错误消息(如果用户未填写必填字段就试图提交表单):

实例

 1 
"post" action=""PHP_SELF"]);?>"> 2 3 Name: "text" name="name"> 4 class="error">* 5

6 E-mail: 7 "text" name="email"> 8 class="error">* 9

10 Website: 11 "text" name="website"> 12 class="error"> 13

14

 

源代码:

 1  
 2 
 3 
 4 
 7 
 8  
 9 
10 php
11 // 定义变量并设置为空值
12 $nameErr = $emailErr = $genderErr = $websiteErr = "";
13 $name = $email = $gender = $comment = $website = "";
14 
15 if ($_SERVER["REQUEST_METHOD"] == "POST") {
16    if (empty($_POST["name"])) {
17      $nameErr = "姓名是必填的";
18    } else {
19      $name = test_input($_POST["name"]);
20    }
21    
22    if (empty($_POST["email"])) {
23      $emailErr = "电邮是必填的";
24    } else {
25      $email = test_input($_POST["email"]);
26    }
27      
28    if (empty($_POST["website"])) {
29      $website = "";
30    } else {
31      $website = test_input($_POST["website"]);
32    }
33 
34    if (empty($_POST["comment"])) {
35      $comment = "";
36    } else {
37      $comment = test_input($_POST["comment"]);
38    }
39 
40    if (empty($_POST["gender"])) {
41      $genderErr = "性别是必选的";
42    } else {
43      $gender = test_input($_POST["gender"]);
44    }
45 }
46 
47 function test_input($data) {
48    $data = trim($data);
49    $data = stripslashes($data);
50    $data = htmlspecialchars($data);
51    return $data;
52 }
53 ?>
54 
55 

PHP 验证实例

56

class="error">* 必需的字段

57
"post" action=""PHP_SELF"]);?>"> 58 姓名:"text" name="name"> 59 class="error">* 60

61 电邮:"text" name="email"> 62 class="error">* 63

64 网址:"text" name="website"> 65 class="error"> 66

67 评论: 68

69 性别: 70 "radio" name="gender" value="female">女性 71 "radio" name="gender" value="male">男性 72 class="error">* 73

74 "submit" name="submit" value="提交"> 75
76 77 php 78 echo "

您的输入:

"; 79 echo $name; 80 echo "
"; 81 echo $email; 82 echo "
"; 83 echo $website; 84 echo "
"; 85 echo $comment; 86 echo "
"; 87 echo $gender; 88 ?> 89 90 91

运行结果:

PHP 表单验证 - 必填字段_第2张图片

接下来是验证输入数据,即“Name 字段是否只包含字母和空格?”,以及“E-mail 字段是否包含有效的电子邮件地址语法?”,并且如果填写了 Website 字段,“这个字段是否包含了有效的 URL?”。

转载于:https://www.cnblogs.com/UniqueColor/p/5221624.html

你可能感兴趣的:(PHP 表单验证 - 必填字段)