php

php中$_GET是什么意思

2023-09-19

在php中,“$_GET”的意思为获取GET数据,它是一个预定义变量,主要用来接收form表单中使用GET方法提交的表单数据。

GET 方法是 form 表单中 method 属性的默认方法。使用 GET 方法提交的表单数据会附加到 URL 上,并作为 URL 的一部分发送到服务器端。


在程序的开发过程中,由于 GET 方法提交的数据是附加到 URL 上发送的,因此在 URL 的地址栏中将会显示“URL+用户传递的参数”类型的信息,如下所示:

http://url?name1=value1&name2=value2 ...


其中,url 为表单响应地址(如 http://www.sjzsy.cn),name1、name2 为表单元素的名称,value1、value2 为表单元素的值。url和表单元素之间用“?”隔开,而多个表单元素之间用“&”隔开,每个表单元素的格式都是“name=value”,固定不变。


由于不同的浏览器对 URL 的长度都有不同的限制,所以在使用 GET 方法提交数据时,一定要注意数据量的大小,如果数据的长度超过了浏览器的限制,数据将被截断,从而导致数据丢失。主流浏览器对 URL 长度的限制如下表所示:


$_GET 全局变量与 $_POST 的结构相似,其数据结构是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。$_GET 不仅仅可以获取 form 表单的数据,只要是 URL 中的参数都可以使用 $_GET 获取。


另外一点需要注意的是:在 PHP 中使用 $_POST 或者 $_GET 获取表单数据时,是区分大小写的,所以在开发过程中应该注意不能忽略了字母的大小写。


【示例】下面user.html文件中的form标签内容,就是一个最简单的表单


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>表单提交</title>

</head>

<body>

<form action="user.php" method="">

用户名: <input type="text" name="user"> <br><br>

密 码: <input type="password" name="pwd"> <br><br>

生 日: <input type="date" name="bday"><br><br>

<input type="submit" value="提交数据">

</form>

</body>

</html>


我们添加一下user.html文件的表单看看URL 的地址栏

1646220690248973.gif

url地址栏.png

user.php文件中可以直接使用预定义变量$_GET来获取数据,$_GET 全局变量是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。(注只要是 URL 中的参数都可以使用 $_GET 获取。)

<?php

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

echo "用户名为:".$_GET['user']."<br>生日为:".$_GET['bday'];

?>