Home > php教程 > php手册 > $_post与$_get的区别

$_post与$_get的区别

WBOY
Release: 2016-05-25 16:50:09
Original
1207 people have browsed it

1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。

2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用"?"连接,而各个变量之间使用"&"连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。

3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到,另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前,Post的所有操作对用户来说都是不可见的。

4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post。

5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。

6、Get是Form的默认方法。

7、post请求只能适合于页面到页面之间的转移请求,从地址栏中直接输入地址,发出的请求是无法形成post请求的,post情况下,前一个页面的域被作为参数传递到服务器,get情况下,参数依靠地址中"?"后面的字符串构成参数,而frame中src属性指定的地址,恰恰如同从地址栏中输入的地址一样,发出的请求是get请求。

简单的说,一般url传递过来的都是get方式,比如你在浏览器里输入

xxx.php?a=1&b=2 ,那么就是$_GET['a'] $_GET['b]

如果你是在表单里提交过去,而表单又指明了method=post 比如

<form action=&#39;aaaa.php&#39; method=&#39;post&#39;> 
<input name=a value=&#39;&#39;> 
</form>
Copy after login

这个时候提交过去的就是$_POST['a'],当然,如果你指定了他的method=get,他提交过去的就是GET方法.

GET和POST为传输数据的两种方法,GET方法的缺点是存在字节长度的限制。所以表单一般都会用POST方法。

永久地址:

转载随意~请带上教程地址吧^^

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template