如何使用PHP来验证表单数据

浏览:
字体:
发布时间:2019-11-15 20:22:56
来源:本站原创
主讲老师:郭盛华

三个字段
name、email 和 txt属于文本输入元素。
HTML 代码是这样的:
用户名:<input type="text" name="name">
邮件地址:<input type="text" name="email">
留言内容:<textarea name=“txt" rows="5"></textarea>

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

<?php
// 定义变量并设置为空值
$name=""; //用户名
$email=""; //电邮
$txt ="";//留言内容
if($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
    $nameErr = "用户名不能为空";
} else {
   $name = $_POST["name"];
}
if (empty($_POST["email"])) {
   $emailErr = "电子邮件不能为空";
} else {
   $email = $_POST["email"];
}
if (empty($_POST["txt"])) {
   $txt = "";
} else {
   $txt = $_POST["txt"];
}
}

?>

PHP 表单安全性
什么是 $_SERVER["PHP_SELF"]变量?
$_SERVER["PHP_SELF"] 是一种超全局变量,它返回当前执行脚本的文件名。
因此,$_SERVER["PHP_SELF"]将表单数据发送到页面本身,而不是跳转到另一张页面。这样,用户就能够在表单页面获得错误提示信息。
什么是 htmlspecialchars() 函数?
htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着< 和 >之类的 HTML 字符会被替换为< 和 > 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。
关于 PHP 表单安全性的重要提示
$_SERVER["PHP_SELF"] 变量能够被黑客利用!
如果您的页面使用了 PHP_SELF,用户能够输入下划线然后执行跨站点脚本(XSS)。
提示:跨站点脚本(Cross-site scripting,XSS)是一种计算机安全漏洞类型,常见于 Web 应用程序。XSS 能够使攻击者向其他用户浏览的网页中输入客户端脚本。
所以通过使用 htmlspecialchars() 函数能够避免 $_SERVER["PHP_SELF"]被利用。
表单的 HTML代码是这样的:
<form method="post"action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
当提交此表单时,通过 method="post" 发送表单数据。

视频课程下载:https://bbs.vm888.com/thread-90-1-1.html
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2023 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();