php form表单必填,PHP 表单验证 - 必填字段

标签:

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

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

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

PHP - 输入字段

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

20180110182939663467.png

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

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

1 <?php2 //定义变量并设置为空值

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

">

2

3 Name:

4 * <?php echo $nameErr;?>

5

6 E-mail:7

8 * <?php echo $emailErr;?>

9

10 Website:11

12 <?php echo $websiteErr;?>

13

14 Comment:

15

16 Gender:17 Female18 Male19 * <?php echo $genderErr;?>

20

21

22

23

源代码:

1

2

3

4

5 .error {color: #FF0000;}6

7

8

9

10 <?php11 //定义变量并设置为空值

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

* 必需的字段

57

">

58 姓名:

59 * <?php echo $nameErr;?>

60

61 电邮:

62 * <?php echo $emailErr;?>

63

64 网址:

65 <?php echo $websiteErr;?>

66

67 评论:

68

69 性别:70 女性71 男性72 * <?php echo $genderErr;?>

73

74

75

76

77 <?php78 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

运行结果:

20180110182939669326.png

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

标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值