PHP $ _POST函數 與$_GET函數詳解

來源:互聯網
上載者:User
關鍵字 網路程式設計 PHP教程

php教程 $ _post函數 與$_get函數詳解

1、get是從伺服器上獲取資料,post則是向伺服器傳送資料;

2、get將表單中資料的按照variable=value的 形式,添加到action所指向的url後面,並且兩者使用「?」 連接,而各個變數之間使用「&」連接。 post是將表單中的資料放在form的 資料體中,按照變數和值相對應的方式,傳遞到action所指向url;fashion jewelry wholesale

所以從上述也可以得到另外兩個結論:

1、get傳送的資料量較小,不能大於2kb,這主要是因為受url長度限制。 post傳送的資料量較大,所以在上傳檔只能使用post。 一般被預設為不受限制。 但理論上,iis4中最大量為80kb,iis5中為100kb;

2、get安全性非常低(因為使用者可以通過url看到),post安全性較高(其所有操作對使用者來說都是不可見的)。 但是執行效率卻比post方法好;

3、get限制form表單的資料集的值必須為ascii字元;而post支援整個iso10646字元集;cleaning cloth

4、get是form的預設方法;

5、get方式提交來的資料在伺服器端用request.querystring()來獲取,用post方式提交的資料用request.form()來獲取(這一點不是很明確);

建議:

1、如果是包含機密資訊的話,建議用post資料提交方式;

2、在做資料查詢時,建議用get方式;而在做資料添加、修改或刪除時,建議用post方式;


get實例

內置的$ _get函數是用來收集從表單發送一個method="get"的值。 資訊是一個用get方法的形式發送的.使用者可見的(它會在瀏覽器的網址列顯示),並已對資訊發送數量限制。
舉個例子 :
<form action="test.php" method="get">
name: <input type="text" name="username" />
age: <input type="text" name="age" />
<input type="submit" value="submit" />
</form>
當使用者點擊「提交」按鈕,發送到伺服器的url可能看起來像這樣:
HTTP: //localhost/demo/test.php?username=lily&age=28

在"test.php"檔,現在可以使用$ _get這個函數來收集表單資料(表單欄位的名稱將自動在$ _get陣列的鍵):
welcome <?php echo $_get["username"]; ?><br />
you are <?php echo $_get["age"]; ?> years old!

那何時使用 method="get" 呢?
當使用 method="get" 在html表單,所有的變數名和值顯示在url中。 注意:這個方法不應該被使用在密碼或其他敏感資訊! 但是,由於變數在顯示網址,是有可能的書簽頁面。 這可以在某些情況下有用。 get方法是不適合非常大的變數值。 它不應該使用超過2000個字元的值


$_post實例

內置在$ _post功能是用來收集在一個表單 method="post" 值。 使用post方法的形式發送的資訊使用者是看不見的,並已對資訊發送量沒有限制。 但是,對於post方法有一個8 mb max size,預設情況下(可通過設置在php.ini檔中的post_max_size更改)。
舉個例子 :
<form action="welcome.php" method="post">
name: <input type="text" name="username" />
age: <input type="text" name="age" />
<input type="submit" value="submit" />
</form>

當使用者點擊「提交」按鈕,發送到伺服器的url可能看起來像這樣:
HTTP: //localhost/demo/test.php

在"test.php"檔,現在可以使用了$ _post功能,收集表單資料(表單欄位的名稱將自動在$ _post陣列的鍵):
welcome <?php echo $_post["username"]; ?>!<br />
you are <?php echo $_post["age"]; ?> years old.


那何時使用 method="post" 呢?
使用post方法的形式發送的資訊使用者是看不見的,並已對資訊發送量沒有限制。 但是,由於變數沒有在url中顯示,這是不可能的書簽的頁面。

php的$ _request的作用
        php的內建函數包含在$ _request中的有兩種形式 $ _get,$ _post和$ _ cookie 。 $ _request函數,可用於收集get和post方法發送表單資料。
welcome <?php echo $_request["username"]; ?>!<br />
you are <?php echo $_request["age"]; ?> yea rs old.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.