表单是 PHP 与 Web 页面交互的方法之一,而表单提交数据有两种请求方式,即 GET 请求方式和 POST 请求方式。
针对于表单的两种提交方式, PHP 提供了三个全局变量,分别为 $_GET、$_POST、$_REQUEST,用于获得表单提交的数据。

2.3.1 $_GET

$_GET 用于获得表单 GET 请求方式提交的数据。
语法格式:
$变量 = $_GET[“表单元素名”];
建立一个 GET 请求方式的表单页面,名称为 index.php,代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>GET方式的表单</title>
  5. <meta charset="utf-8" />
  6. </head>
  7. <body>
  8. <form name="frm" method="get" action="check.php">
  9. 登陆名称:<input type="text" name="userName" size="20" /><br/>
  10. 登陆密码:<input type="password" name="password" size="20" /><br/>
  11. <input type="submit" value="登陆" />
  12. </form>
  13. </body>
  14. </html>

在 index.php 的同级目录下,建立 check.php 文件,代码如下:

<?php
header("content-type:text/html;charset=utf-8");

//获得GET表单提交的数据
$userName = $_GET["userName"];
$password = $_GET["password"];

//输出接收到的表单数据
echo "接收到的登陆名称:{$userName}<br/>";
echo "接收到的登陆密码:{$password}<br/>";

image.png

2.3.2 $_POST

$_POST 用于获得表单 POST 请求方式提交的数据。
语法格式:
$变量 = $_POST[“表单元素名”];
建立一个 POST 请求方式的表单页面,名称为 index.php,页面代码与 GET 请求方式的表单页面几乎一样,只不过把

标签的 method 值设置为 post,代码如下:

<!DOCTYPE html>
<html>
  <head>
    <title>POST方式的表单</title>
    <meta charset="utf-8" />
  </head>
  <body>
    <form name="frm" method="post" action="check.php">
      登陆名称:<input type="text" name="userName" size="20" /><br/>
      登陆密码:<input type="password" name="password" size="20" /><br/>
      <input type="submit" value="登陆" />
    </form>
  </body>
</html>

check.php文件内容如下:

<?php
header("content-type:text/html;charset=utf-8");

//获得POST表单提交的数据
$userName = $_POST["userName"];
$password = $_POST["password"];

//输出接收到的表单数据
echo "接收到的登陆名称:{$userName}<br/>";
echo "接收到的登陆密码:{$password}<br/>";

image.png

2.3.3 $_REQUEST

$_REQUEST 用于获得表单任何请求方式提交的数据。
语法格式:
$变量 = $_REQUEST[“表单元素名”];
建立一个表单页面,名称为 index.php,代码如下:

<!DOCTYPE html>
<html>
  <head>
    <title>表单</title>
    <meta charset="utf-8" />
  </head>
  <body>
    <form name="frm" method="post" action="check.php">
      登陆名称:<input type="text" name="userName" size="20" /><br/>
      登陆密码:<input type="password" name="password" size="20" /><br/>
      <input type="submit" value="登陆" />
    </form>
  </body>
</html>

check.php 文件内容如下:

<?php
header("content-type:text/html;charset=utf-8");

//获得表单提交的数据
$userName = $_REQUEST["userName"];
$password = $_REQUEST["password"];

//输出接收到的表单数据
echo "接收到的登陆名称:{$userName}<br/>";
echo "接收到的登陆密码:{$password}<br/>";

image.png
注:我们可以尝试着修改 index.php 文件中 标签的 method 属性,让表单以不同的请求方式进行提交,而 check.php 文件的输出结果都是相同的

2.3.4 URL传参

URL 传参也叫问号传参,是 PHP 与 Web 页面交互的方法之一。
URL 传参,模拟表单 GET 请求方式,在页面跳转的过程中,通过 “?” 在 URL 地址中添加参数 ,用于实现跨页面传参的功能。
语法格式:
http://localhost/xxx.php?参数名=参数值&参数名=参数值
建立一个名称为 index.php 的页面,代码如下:

<!DOCTYPE html>
<html>
  <head>
    <title>URL传参</title>
    <meta charset="utf-8" />
  </head>
  <body>

    <!-- 通过超链接,实现URL传参 -->
    <a href="check.php?id=1&name=Tom&age=15">跳转页面</a>

  </body>
</html>

image.png
在 index.php 页面,鼠标点击“跳转页面”的超链接后,页面会跳转到同级目录下的 check.php 文件,代码如下:

<?php
header("content-type:text/html;charset=utf-8");

//获得URL中的参数
$id = $_GET["id"];
$name = $_GET["name"];
$age = $_GET["age"];

//输出接收到的数据
echo "id:{$id}<br/>";
echo "name:{$name}<br/>";
echo "age:{$age}<br/>";

image.png