PHP中給予了我們二種數據提交的方式,一種是以GET形式提交的,一種是以POST形式提交的。那么今天記錄一下,這兩種提交方式的區別以及對于這兩種提交方式的信息的接受處理方式

get提交方式

国产视频appget提交方式屬于顯式提交,也就是我們提交信息時,所提交的數據會顯示在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的區別和特點

国产视频app1、GET是從服務器上獲取數據,POST是向服務器傳送數據。

国产视频app2、GET是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。POST是通過HTTP POST機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。

3、對于GET方式提交表單數據,服務器端用$_GET[‘name’]獲取變量的值,對于POST方式提交表單數據,服務器端用$_POST[‘name’]獲取提交的數據,當然,兩者都可以通過$_REQUEST[‘name’]獲得表單數據。對于REQUEST方式提交表單數據,服務器端用$_REQUEST[‘name’]獲取變量的值,但這種方式很少用。

国产视频app4、GET傳送的數據量較小,不能大于2KB。POST傳送的數據量較大,一般被默認為不受限制。但理論上,一般認為不能超過100KB。

国产视频app5、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的值來修改