PHP中给予了我们二种数据提交的方式,一种是以GET形式提交的,一种是以POST形式提交的。那么今天记录一下,这两种提交方式的区别以及对于这两种提交方式的信息的接受处理方式
get提交方式
get提交方式属于显式提交,也就是我们提交信息时,所提交的数据会显示在url中,那么我们提交的数据是可以被用户查看到的,当然这些信息都是一些不重要的东西。
例1
<form action = "" method = "get"> <input type="text" name = 'name' value = '123'/> <input type= 'submit' /> <input type= 'reeset' /> </form>
例2:
A链接的形式:
<a herf="*.php?name=123">这是个链接</a>
php接受信息:
$get = $_GET ['name'] //$get=123; $get = $_REQUEST['name'];//$get = 123;
post提交方式
从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
注:在默认的情况下,post提交的信息最多不会超过8m,当然我们也可以在php.ini中设置post_max_size值来进行更改
例1:
<form action='' method='post' > <input type='text' name='name' value ='123' /> <input type= 'submit' /> <input type= 'reeset' /> </form>
PHP接收:
$post = $_POST['name'];//$post=123; $post = $_REQUEST['name'];//$post = 123;
get与post的区别和特点
1、GET是从服务器上获取数据,POST是向服务器传送数据。
2、GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3、对于GET方式提交表单数据,服务器端用$_GET[‘name’]获取变量的值,对于POST方式提交表单数据,服务器端用$_POST[‘name’]获取提交的数据,当然,两者都可以通过$_REQUEST[‘name’]获得表单数据。对于REQUEST方式提交表单数据,服务器端用$_REQUEST[‘name’]获取变量的值,但这种方式很少用。
4、GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。但理论上,一般认为不能超过100KB。
5、GET安全性非常低,POST安全性较高。
6、GET表单值可以通过_GET获取;但通过action的url设置的参数总是获取不到的,<form method="get" action="a.asp?b=b">跟<form method="get"action="a.asp">是一样的,也就是说,在这种情况下,GET方式会忽略action页面后边带的参数列表。POST表单值可以通过_POST获取;但通过action的url参数设置的参数则可以不能通过_POST获取到。action=test.php?id=1这种就是GET方式传值,可以用$_REQUEST和$_GET接受传值,但不能用POST方式获取到值,即使表单是POST方式提交。所在,在提交表单时,如果action中同时有参数,最好只能通过POST表单方式,对于表单内数据,直接通过POST获取,对于action中参数,童工GET获取。
注:在做数据查询时,建议用GET方式,而在做数据添加、修改或删除时,建议用POST方式。
$_REQUEST
无论是post方式还是get方法提交的数据,我们都可以使用$_REQUEST来获取,但是速度比较慢
注:使用request接受信息时,存在同名称的参数下,post提交的数据会覆盖get提交的数据。当然我们可以通过php.ini中的request_order的值来修改
到此这篇关于PHP中get与post的提交方式以及接收方式的区别就介绍到这了。每个人都想和别人不一样,结果是每个人都一样。更多相关PHP中get与post的提交方式以及接收方式的区别内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!