THE WORLD'S LARGEST WEB DEVELOPER SITE

PHP 教程

PHP 教程 PHP 简介 PHP 安装 PHP 语法 PHP 变量 PHP 5 echo 和 print 语句 PHP 数据类型 PHP 字符串函数 PHP 常量 PHP 运算符 PHP if...else...elseif 语句 PHP Switch 语句 PHP while 循环 PHP for 循环 PHP 函数 PHP 数组 PHP 数组排序 PHP 全局变量 - 超全局变量

PHP 表单

PHP 表单处理 PHP 表单验证 PHP 表单验证 - 必填字段 PHP 表单验证 - 验证 E-mail 和 URL PHP 表单验证 - 完成表单实例

PHP 高级教程

PHP 多维数组 PHP 日期和时间 PHP Include 文件 PHP 文件处理 PHP 文件打开_读取_关闭 PHP 文件创建_写入 PHP 文件上传 PHP Cookies PHP Sessions PHP 发送电子邮件 PHP 安全的电子邮件 PHP 错误处理 PHP 异常处理 PHP 过滤器(Filter)

PHP 数据库

PHP MySQL 简介 PHP MySQL 连接数据库 PHP MySQL 创建数据库和表 PHP MySQL Insert Into PHP MySQL Select PHP MySQL Where 子句 PHP MySQL Order By 关键词 PHP MySQL Update PHP MySQL Delete From PHP Database ODBC

PHP XML

PHP XML Expat 解析器 PHP XML DOM PHP SimpleXML

AJAX

AJAX 简介 AJAX XMLHttpRequest PHP 和 AJAX 请求 PHP 和 AJAX XML 实例 PHP 和 AJAX MySQL 数据库实例 PHP 和 AJAX responseXML 实例 PHP 和 AJAX Live Search PHP 和 AJAX RSS 阅读器 PHP 和 AJAX 投票

PHP 参考手册

PHP Array 函数 PHP Calendar 函数 PHP Date _ Time 函数 PHP Directory 函数 PHP Error 和 Logging 函数 PHP Filesystem 函数 PHP Filter 函数 PHP FTP 函数 PHP HTTP 函数 PHP libxml 函数 PHP Mail 函数 PHP Math 函数 PHP MySQL 函数 PHP 5 MySQLi 函数 PHP SimpleXML 函数 PHP 5 String 函数 PHP XML Parser 函数 PHP Zip File 函数 PHP 杂项函数 PHP 时区 PHP 测验

PHP 表单验证 - 必填字段

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

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() 函数发送用户输入数据:

<?php
// 定义变量并设置为空值
$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"]);
  }

  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"]);
  }
}
?>

PHP - 显示错误消息

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

实例

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
<label>Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit"> 

</form>

运行实例

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