首页 > 编程笔记 > PHP笔记

PHP $_GET全局变量

$_GET 全局变量与前面介绍的 $_POST 全局变量类似,它是用来接收 form 表单中使用 GET 方法提交的表单数据的,GET 方法是 form 表单中 method 属性的默认方法。使用 GET 方法提交的表单数据会附加到 URL 上,并作为 URL 的一部分发送到服务器端。

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

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

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

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

游览器 最大长度(字符数)
Internet Explorer 2083 
Firefox  65536
chrome 8182
Safari 80000
Opera 190000

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

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

【示例】使用 $_GET 全局变量获取 form 表单中传输的数据。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>新宝库</title>
</head>
<body>
    <form action="index.php" method="get">
        姓名:<input type="text" name="name" placeholder="请输入姓名"><br>
        性别:<input type="radio" name="sex" value="男">男
              <input type="radio" name="sex" value="女">女<br>
        爱好:<input type="checkbox" name="hobby[]" value="read">阅读
              <input type="checkbox" name="hobby[]" value="travel">旅游
              <input type="checkbox" name="hobby[]" value="sport">运动
              <input type="checkbox" name="hobby[]" value="internet">上网<br>
        职业:<select name="job">
                    <option value="coder">程序员</option>
                    <option value="teacher">教师</option>
                    <option value="doctor">医生</option>
                    <option value="other">其它</option>
              </select><br>
        <input type="submit" value="提交">&emsp;&emsp;<input type="reset" value="重置">
    </form>
</body>
</html>
<?php
    if(!empty($_GET)){
        echo '提交成功!<br><pre>';
        var_dump($_GET);
    }
?>

所有教程

优秀文章