您所在的位置:PHP培训学院 > PHP教程 > 编程技巧 > >PHP 基础教程——PHP 表单验证 - 必填字段

PHP 基础教程——PHP 表单验证 - 必填字段

2018-02-11 17:53:10 来源:W3School 浏览次数:

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

PHP - 输入字段

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

字段 验证规则
Name 必需。必须包含字母和空格。
E-mail 必需。必须包含有效的电子邮件地址(包含 @ 和 .)。
Website 可选。如果选填,则必须包含有效的 URL。
Comment 可选。多行输入字段(文本框)。
Gender 必需。必须选择一项。

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

在下面的代码中我们增加了一些新变量:$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. ?> 

PHP - 显示错误消息

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

实例

  1. <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
  2.  
  3. Name: <input type="text" name="name"
  4. <span class="error">* <?php echo $nameErr;?></span> 
  5. <br><br> 
  6. E-mail: 
  7. <input type="text" name="email"
  8. <span class="error">* <?php echo $emailErr;?></span> 
  9. <br><br> 
  10. Website: 
  11. <input type="text" name="website"
  12. <span class="error"><?php echo $websiteErr;?></span> 
  13. <br><br> 
  14. <label>Comment: <textarea name="comment" rows="5" cols="40"></textarea> 
  15. <br><br> 
  16. Gender: 
  17. <input type="radio" name="gender" value="female">Female 
  18. <input type="radio" name="gender" value="male">Male 
  19. <span class="error">* <?php echo $genderErr;?></span> 
  20. <br><br> 
  21. <input type="submit" name="submit" value="Submit">  
  22.  
  23. </form> 

[免责声明]本文来源于网络转载,仅供学习交流使用,不构成商业目的。版权归原作者所有,如涉及作品内容、版权和其它问题请在30日内与本网联系,我们将在第一时进行处理

优就业官方微信

扫描二维码,即可与小
U亲密互动

优就业官方微博

扫码关注,更有精彩活动
等你参与

优就业官方QQ号

一键加好友

咨询电话:(9:00-22:00)

400-650-7353

优就业PHP培训学院(php.ujiuye.com)-中公优就业旗下PHP研究中心,是PHP培训机构,致力于培养系统实战型PHP精英人才。关注PHP技巧与PHP开发视野。优就业PHP培训学院-更好的PHP培训机构。

 
 
咨询中心
优就业微信扫一扫
微信扫一扫

400-650-7353

加入官方微博