什么是表单

这里的表单一般是指 HTML 中的表单,通过表单一般可以提交 GET / POST 请求来传输数据,在 HTML 中表单一般都是如下这样的:

<form action="./login.php" method="POST">
    <input type="text" name="username" placeholder="用户账号" required>
    <input type="password" name="password" placeholder="用户密码" required>
    <button type="submit">登录</button>
</form>

这里就是一个十分简单的前台用户登录的表单,我们可以留意几个关键的资讯,分别是:actionmethodname这几个,我们来分别说明一下:

method 是我们提交表单的方式,一般都是 POST 或者 GET

action 就是我们提交表单数据的地址,这里我们就是要提交到 ./login.php

name 就是我们提交数据的名称,要有 name 才能在后端 PHP 中获取哦!

PHP 如何获取表单提交的数据

我们在提交表单之后,可以通过后端 PHP 来进行获取数据,我们获取前端提交的数据主要是用以下几种方法:

<?php

print($_GET['username']); # 获取 GET 方法提交的数据
print($_POST['username']); # 获取 POST 方法提交的数据
print($_REQUEST['username']); # 获取所有方法提交的数据

?>

这里我们可以留意到,我们并没有定义所谓的 $_GET$_POST$_REQUEST 变量的内容,但是我们依旧能获取到表单提交的数据,这主要是因为这些都是 超全局变量 。有关超全局变量我们会以后再仔细讲,我们这里只需要知道这些变量是在 PHP 脚本中 任何地方 都能获取到的变量就行了。

虽然说我们可以直接来获取这些数据,但是我们一般并不会直接来拿这些数据来进行业务处理,因为这个时候这些数据并没有经过任何的验证,网络攻击者往往会通过输入一些不符合要求或者恶意的数据来进行攻击。

目前这个情况我们会使用 htmlspecialchars 函数来进行一些过滤输出:

<?php

print('欢迎登录:');
print($_POST['username']);

?>