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.