首页  >  文章  >  后端开发  >  PHP 中的验证

PHP 中的验证

王林
王林原创
2024-08-29 13:08:43567浏览

PHP中的验证是我们检查最终用户在表单中提交的任何表单(例如文本、复选框或单选按钮等)中各个字段中的输入信息是否正确或不使用HTML代码的过程.

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

PHP 中有 2 种可用的验证:

  1. 客户端验证: 这种类型的验证是在客户端计算机的 Web 浏览器上完成的。
  2. 服务器端验证:提交的数据随后被发送到服务器计算机以执行验证检查。

PHP 验证规则

表单验证有一定的规则,对于以下字段如下:

  • 名称:必填字段,数据仅包含空格和字母。
  • 电子邮件:这也是必填字段,应包含有效的电子邮件地址,意味着其格式应为 [email  protected]。
  • 网站:这是一个可选字段,如果给定,应包含有效的 URL
  • 注释:这是一个可选字段,是一个多行文本输入,我们可以在其中给出长句子。
  • 性别:这是必填字段,应从女性、男性和其他中选择一种性别。

PHP 中的验证类型

现在让我们看看如何验证不同类型的此类字段。

1.验证文本字段

上述属性中有一些文本字段,例如名称、电子邮件、网站和评论。其 HTML 代码如下:

代码:

<blockquote>
<p>Name : <input name="name" type="text" /> <br /><br /> E-mail : <input name="email" type="text" /><br /><br /> Website: <input name="website" type="text" /><br /><br /> Comment: <textarea cols="40" name="comment" rows="5"></textarea></p>
</blockquote>

输出:

PHP 中的验证

对上述程序的说明:这里我们可以通过使用不同的标题标签和空格标签来自定义这些属性名称。我们在这里展示了其中一种段落格式选项。

2.单选按钮的验证

单选按钮基本上是具有布尔值 true 或 false 的按钮,它们由圆形框之类的东西表示。如果方框被圈起来,则表示正确,反之亦然。让我们检查一下 HTML 代码,以实现上述“性别”属性的相同功能。

代码:

Gender:<br /><br />
<input type="radio" name="gender" value="female">Female<br /><br />
<input type="radio" name="gender" value="male">Male<br /><br />
<input type="radio" name="gender" value="other">Other

输出:

PHP 中的验证

对上述程序的说明:通过使用此代码,我们在性别类别下显示 3 个选项:男性、女性和其他。用户可以通过单击圆圈来圈选所需的选项,该选项将被保存并验证。

3.表单元素验证

在填写所有必需的详细信息以提交表单后,最后使用此方法。使用此 HTML 代码时,提交的表单数据将通过“post”方法发送。在验证表单元素时,我们基本上需要指定两个属性:操作和方法。我们可以将某些 HTML 属性转换为它们各自的实体名称,以防止用户提交时表单被破坏。 “action”决定表单数据在提交时发送到哪里,“method”定义表单数据的提交方式。

代码:

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

让我们通过结合上面学到的所有不同类型的验证来检查完整的验证形式:

代码:

<!DOCTYPE HTML>
<html>
<head>
<style>
.Error {color: #FF0000;}
</style>
</head>
<body>
<?php
// we are defining variables here and setting their default values to zero
$nameError = $emailError = $genderError = $websiteError = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameError = "Name is mandatory";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["email"])) {
$emailError = "Email is mandatory";
} 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"])) {
$genderError = "Gender is mandatory";
} else {
$gender = test_input($_POST["gender"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>PHP Form Validation Example</h2>
<p><span class="Error">* mandatory field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="Error">* <?php echo $nameError;?></span>
<br><br>
E-mail: <input type="text" name="email">
<span class="Error">* <?php echo $emailError;?></span>
<br><br>
Website: <input type="text" name="website">
<span class="Error"><?php echo $websiteError;?></span>
<br><br>
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
<input type="radio" name="gender" value="other">Other
<span class="Error">* <?php echo $genderError;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>

输出:

PHP 中的验证

对上述程序的说明:在上面的示例中,我们组合了所有可用的不同字段,例如文本字段、单选按钮以及电子邮件格式类型。输出将以框的形式显示,该框将根据我们在 HTML 代码中给出的规范进行显示。输入必填值后,相同内容将显示在文本“输入的详细信息是:”下。假设未给出任何一个强制性值,那么除了该特定属性之外,它还会抛出一条错误消息,表明它是强制性的并且需要填写。

PHP 验证的优点

  • 通过使用客户端验证,我们可以更快地接收反馈,而无需关闭服务器并下载另一个 HTML 页面。
  • 客户端验证还有助于节省服务器负载并提高性能。

结论

我们在本教程中了解了如何在客户端用 PHP 进行验证以及它的重要性。它有助于节省时间,从而允许更多的带宽来指出最终用户在填写给定表格时的错误。然而,服务器端验证也很重要,它是使用 JavaScript 等完成的。因此,我们最终可以得出结论,客户端和服务器端验证都很重要,因为它们在服务最终目的方面相互补充。

以上是PHP 中的验证的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:basename in PHP下一篇:PHP mail()