iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP表单输入与验证的方法是什么
  • 442
分享到

PHP表单输入与验证的方法是什么

2023-06-25 11:06:20 442人浏览 泡泡鱼
摘要

这篇文章主要介绍“PHP表单输入与验证的方法是什么”,在日常操作中,相信很多人在php表单输入与验证的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP表单输入与验证的方法是什么”的疑惑有所帮助!

这篇文章主要介绍“PHP表单输入与验证的方法是什么”,在日常操作中,相信很多人在php表单输入与验证的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP表单输入与验证的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

PHP表单输入与验证的方法是什么

在之前的文章中我们已经了解了PHP的基础,其中就有$_GET $_POST 变量,它们用来检索表单中的信息,其中需要我们注意的知识点就是PHP表单用户输入和表单验证。那接下来我们就来看一下PHP中表单输入与表单验证的相关知识吧。

PHP表单和用户输入

想要去了解PHP表单和用户输入,首先我们要明白什么是表单。WEB表单准确来说算是一个互动平台,主要的功能就是让浏览者和网站有一个互动的平台。表单主要就是在网页中用来发送数据到服务器

例如,注册信息时使用到的表单,当你填写完信息时需要提交,这时候提交就是将你注册时表单上的内容从客户端浏览器传送到服务器端,再经过PHP程序进行处理后,再将用户所需要的信息传递回到客户端浏览器上,通过获取用户的信息,使得PHP与Web表单实现交互。就是提供了这么一个互动的平台。

接下来我们通过示例来看一下表单,示例如下:

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>编程网</title> </head> <body>  <fORM action="form.php" method="post">     名字: <input type="text" name="fname"><br>     年龄: <input type="text" name="age"><br>     <input type="submit" value="提交"> </form>  </body> </html>

其中需要我们注意的是表单属于HTML的知识,更多的相关知识,大家可以点击《HTML教程》进行学习,上述示例的运行结果:

PHP表单输入与验证的方法是什么

这便是我们所说的表单,那么我们在其中填写的信息也就是表单信息会发送到哪里呢?当我们点击提交的时候,表单中的数据就会以POST的形式,发送到form.php这个页面。

<?php header("Content-type:text/html;charset=utf-8");    //设置编码 echo "欢迎你:".$_POST["fname"] ."<br/>"; echo "你的年龄是:".$_POST['age']; ?>

我们发送到from.php的运行结果如下:

PHP表单输入与验证的方法是什么

当用户输入完成后,这时候就需要对表单进行验证了,应该在任何可能的时候通过客户端脚本对用户输入进行验证。浏览器验证速度更快,并且可以减轻服务器的负载。

如果用户输入需要插入数据库,您应该考虑使用服务器验证。在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。那么接下来我们一起来看一下表单验证的相关知识吧。

PHP表单验证

在处理PHP表单时我们需要考虑安全性。我们将展示PHP表单数据安全处理,为了防止黑客及垃圾信息我们需要对表单进行数据安全验证。接下来我们通过实例来看一下表单中的必须与可选文本字段,单选按钮,及提交按钮。

示例如下:

<!DOCTYPE HTML> <html> <head>     <meta charset="utf-8">     <title>PHP.cn</title> </head> <body> <h3>PHP 表单验证实例</h3> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">     名字: <input type="text" name="name" value="">     <br>     E-mail: <input type="text" name="email" value="">     <br>     网址: <input type="text" name="website" value="">     <br>     备注: <textarea name="comment" rows="5" cols="40"></textarea>     <br>     性别:     <input type="radio" name="gender"  value="female">女     <input type="radio" name="gender"  value="male">男     <br>     <input type="submit" name="submit" value="提交"> </form> </body> </html>

输出结果:

PHP表单输入与验证的方法是什么

其中我们需要注意的是不同的字段有不同的验证规则,上述示例中不同字段的验证规则如下:

名字的验证规则是必须的,并且只能包含字母和空格。E-mail的验证规则是必须的,其中必须是一个有效的电子邮件地址(包含'@'和'.')。网址的验证规则的是可选的,并且如果存在,它必须包含一个有效的URL。备注的验证规则是可选的,多行输入字段。性别的验证规则是必须的,必须选择一个。

通过上述示例我们再来看一下其中用到的知识:

$_SERVER["PHP_SELF"] 变量

$_SERVER["PHP_SELF"]是一种超全局变量,它返回当前执行脚本的文件名。因此,$_SERVER["PHP_SELF"] 将表单数据发送到页面本身,而不是跳转到另一张页面。这样,用户就能够在表单页面获得错误提示信息。

htmlspecialchars() 函数

htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 &lt; 和 &gt; 。这样可防止攻击者通过在表单中注入 HTML 或 javascript 代码(跨站点脚本攻击)对代码进行利用。

其中我们需要注意的是:

$_SERVER["PHP_SELF"] 变量能够被黑客利用,如何避免 $_SERVER["PHP_SELF"] 被利用?

$_SERVER["PHP_SELF"] 可以通过 htmlspecialchars() 函数来避免被利用。

form 代码如下所示:

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

htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。现在如果用户想利用 PHP_SELF 变量, 结果将输出如下所示:

<form method="post" action="test_form.php/&quot;&gt;&lt;script&gt;alert('hacked')&lt;/script&gt;">

尝试该漏洞失败!

通过PHP验证表单数据

我们要做的第一件事是通过 PHP 的 htmlspecialchars() 函数传递所有变量。在用户提交该表单时,我们还要做两件事:

首先通过 PHP trim() 函数去除用户输入数据中不必要的字符,比如多余的空格、制表符、换行等,然后通过 PHP stripslashes() 函数删除用户输入数据中的反斜杠(\)。接下来我们创建一个检查函数,我们把函数命名为 test_input()。最后我们能够通过 test_input() 函数检查每个 $_POST 变量。

我们将验证程序可以放到上述示例中去,示例如下:

<!DOCTYPE HTML> <html> <head>     <meta charset="utf-8">     <title>编程网(php.cn)</title> </head> <body>  <?php // 定义变量并默认设置为空值 $name = $email = $gender = $comment = $website = "";  if ($_SERVER["REQUEST_METHOD"] == "POST") {     $name = test_input($_POST["name"]);     $email = test_input($_POST["email"]);     $website = test_input($_POST["website"]);     $comment = test_input($_POST["comment"]);     $gender = test_input($_POST["gender"]); }  function test_input($data) {     $data = trim($data);     $data = stripslashes($data);     $data = htmlspecialchars($data);     return $data; } ?>  <h3>PHP 表单验证实例</h3> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">     名字: <input type="text" name="name">     <br><br>     E-mail: <input type="text" name="email">     <br><br>     网址: <input type="text" name="website">     <br><br>     备注: <textarea name="comment" rows="5" cols="40"></textarea>     <br><br>     性别:     <input type="radio" name="gender" value="female">女     <input type="radio" name="gender" value="male">男     <br><br>     <input type="submit" name="submit" value="提交"> </form>  <?php echo "<h3>您输入的内容是:</h3>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?>  </body>

输出结果:

PHP表单输入与验证的方法是什么

其中我们需要注意的是:

我们在执行以上脚本时,会通过$_SERVER["REQUEST_METHOD"]来检测表单是否被提交 。如果 REQUEST_METHOD 是 POST, 表单将被提交 - 数据将被验证。如果表单未提交将跳过验证并显示空白。在以上实例中使用输入项都是可选的,即使用户不输入任何数据也可以正常显示。

到此,关于“PHP表单输入与验证的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: PHP表单输入与验证的方法是什么

本文链接: https://www.lsjlt.com/news/304331.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP表单输入与验证的方法是什么
    这篇文章主要介绍“PHP表单输入与验证的方法是什么”,在日常操作中,相信很多人在PHP表单输入与验证的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP表单输入与验证的方法是什么”的疑惑有所帮助!...
    99+
    2023-06-25
  • validator自定义表单验证的方法是什么
    Validator自定义表单验证的方法是使用`Validator`类的`extend`方法来扩展自定义的验证规则。使用`extend...
    99+
    2023-08-14
    validator
  • PHP开发中如何优化表单验证和数据输入验证
    【引言】在Web开发中,表单验证和数据输入验证是非常重要的步骤,它们能够保证用户输入的数据的合法性和安全性。不仅可以避免用户输入错误或恶意输入,还可以防止数据库或应用程序遭受SQL注入等攻击。本文将介绍如何优化PHP开发中的表单验证和数据输...
    99+
    2023-10-21
    规范化 校验 后端验证 表单验证优化:前端验证 数据输入验证优化:过滤
  • html5中表单验证的方式是什么
    今天小编给大家分享一下html5中表单验证的方式是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • PHP 输入验证的正确做法
    php 输入验证方法:使用 php 内置函数(filter_var、preg_match)使用正则表达式(例如验证密码强度)使用白名单或黑名单(限定或禁止特定输入值) PHP 输入验证...
    99+
    2024-05-05
    php 输入验证 用户注册
  • C#中怎么验证输入方法
    这期内容当中小编将会给大家带来有关C#中怎么验证输入方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#验证输入方法一staticboolIsNumeric(stringstr)  ...
    99+
    2023-06-17
  • PHP表单验证函数实现用户输入数据的验证和处理功能
    PHP表单验证函数实现用户输入数据的验证和处理功能在Web开发中,用户输入数据的验证和处理是一个非常重要的环节。通过对用户输入进行验证,可以保证数据的合法性和安全性,有效地防止恶意输入和攻击。同时,对用户输入进行适当的处理可以确保数据的准确...
    99+
    2023-11-20
    PHP表单验证函数 用户输入数据 数据的验证和处理功能
  • angular如何实现表单验证器验证的同时限制输入
    小编给大家分享一下angular如何实现表单验证器验证的同时限制输入,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!angular...
    99+
    2024-04-02
  • javascript表单是否为空验证方法
    表单验证 拿到表单内容进行非空验证(单独函数封装,方便后面调用)为空则向P里面加内容要阻断表单提交,不然直接跳走了e.preventDefault()提交时要判定是否为空键值提交也...
    99+
    2024-04-02
  • HTML5表单验证的特性是什么
    今天就跟大家聊聊有关HTML5表单验证的特性是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。html5表单新增的类型:emailurlrangenumberdate(date, ...
    99+
    2023-06-09
  • el-input无法输入和表单验证失败的问题怎么解决
    今天小编给大家分享一下el-input无法输入和表单验证失败的问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1....
    99+
    2023-07-05
  • javascript表单是否为空的验证方法有哪些
    这篇文章给大家分享的是有关javascript表单是否为空的验证方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。表单验证拿到表单内容进行非空验证(单独函数封装,方便后面调用)为空则向P里面加内容要阻断表单...
    99+
    2023-06-29
  • PHP表单的应用方法是什么
    PHP表单的应用方法有以下几种:1. 提交表单数据到服务器:用户在表单中填写完数据后,点击提交按钮,表单数据会被发送到服务器,服务器...
    99+
    2023-10-12
    PHP
  • php提交表单的方法是什么
    本篇内容主要讲解“php提交表单的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php提交表单的方法是什么”吧!php表单提交方法:1、使用PHP $_REQUEST收集HTML表单提...
    99+
    2023-06-20
  • el-input无法输入的问题和表单验证失败问题解决
    目录1.el-input无法输入的问题原因1、el-input组件没有绑定双向响应式数据(v-model)原因2、组件嵌套太深还是该组件是一个坑(具体原因不清楚,只知道解决方法)解决...
    99+
    2023-02-23
    elinput无法输入 el-input 表单验证失败 vue el-input 无法输入
  • AngularJS实现表单验证功能的方法
    这篇文章主要为大家展示了“AngularJS实现表单验证功能的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“AngularJS实现表单验证功能的方法”这篇文...
    99+
    2024-04-02
  • julia库验证的方法是什么
    Julia库的验证方法是使用单元测试(unit testing)来验证实现的正确性。单元测试是一种软件测试方法,它用于独立地测试代码...
    99+
    2023-09-21
    julia
  • vue表单验证rules及validator验证器的使用方法实例
    目录前言表单验证rules自定义校验规则总结前言 为防止用户犯错,尽可能更早地发现并纠正错误。 Element中Form (表单)组件提供了表单验证的功能,只需要通过 rules 属...
    99+
    2024-04-02
  • php验证码输出乱码的解决方法
    小编给大家分享一下php验证码输出乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php验证码输出乱码的解决办法:1、检查并修改访问验证码生成方法函数...
    99+
    2023-06-08
  • Python输入输出与高阶赋值的方法是什么
    本篇内容主要讲解“Python输入输出与高阶赋值的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python输入输出与高阶赋值的方法是什么”吧!1. 输入、输出与注释1.1 获取用户输...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作