在使用php代码接收参数时,经常会用到$_POST、$_GET以及$_REQUEST来接收前端的数据.它们都是php中内置的全局变量,那么它们的用途与区别分别是什么呢?
1、$_GET变量
$_GET变量可以用来获取通过get方式来提交的表单数据.通常是将表单参数附加在action属性的URL链接中,字段与值都一一对应.
示例:
xxxx.xxx.xxx/tit.php?c=1&b=2
tit.php文件的参数c值为1,参数b值为2
然后后端接收:
<?php
print_r($_GET);
echo $_GET['c'];
?>
其中$_GET为接收所有get提交的参数,结果为数组格式,$_GET['c']为只获取提交表单的参数c的值.
使用get方式提交数据由于可以直接在url链接中查看到参数与值,可以用文本链接列表生成等方式批量创建多条参数,其安全性不高,而且传送数据量不能大于2kb,较小.
2、$_POST变量
$_POST变量可以用来获取使用post方法来提交的数据。与$_GET不同的是,它不是通过链接来传递参数.
aa:111,bb:222
POST方式一般通过HTTP的post机制,将表单中的字段存放在HTTP HEADER内一起传送到指定地址中,无法直接查看,安全性相对于get方式来说比较高些,而且提交数据的大小基本不受限制.
示例:
<?php
print_r($_POST);
echo $_GET['参数'];
?>
$_POST的使用方法与$_GET,$_POST可以获得post提交的数据数组,$_GET['参数']可以获得指定参数的值.
3、$_REQUEST变量
与上面两种变量类似的是,$_REQUEST变量能够获得所有get与post方法提交的参数数据,但速度相对于$_GET、$_POST比较慢.使用方法与它们基本一样.
示例:
<?php
print_r($_REQUEST);
echo $_REQUEST['参数'];
?>
$_GET、$_POST、$_REQUEST都可以用["参数"]方式来得到指定参数的值,$_GET、$_POST只能各自获得以get、post单一方式提交的数据,而通过$_REQUEST适用于两种方式.