定義
$_GET 變數是一個數組,內容是由 HTTP GET 方法傳送的變數名稱和值。
$_GET 變數用於收集來自 method="get" 的表單中的值。從帶有 GET 方法的表單傳送的信息,對任何人都是可見的(會顯示在瀏覽器的地址欄),並且對傳送的信息量也有限制(最多 100 個字元)。
例子
<form action="welcome.php" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form>
當用戶點擊提交按鈕時,傳送的 URL 會類似這樣:
/welcome.php?name=Peter&age=37
"welcome.php" 檔案可以通過 $_GET 變數來獲取表單數據了(請注意,表單域的名稱會自動成為 $_GET 數組中的 ID 鍵):
Welcome
<?php echo $_GET["name"]; ?>.<br /> You are
<?php echo $_GET["age"]; ?>
years old!
原因
注釋:在使用 $_GET 變數時,所有的變數名和值都會顯示在 URL 中。所以在傳送密碼或其他敏感信息時,不應該使用這個方法。不過,正因為變數顯示在 URL 中,因此可以在收藏夾中收藏該頁面。在某些情況下,這是很有用的。
注釋:HTTP GET 方法不適合大型的變數值;值是不能超過 100 個字元的。
變數介紹
PHP 的 $_REQUEST 變數包含了 $_GET, $_POST 以及 $_COOKIE 的內容。
PHP 的 $_REQUEST 變數可用來取得通過 GET 和 POST 方法傳送的表單數據的結果。
例子
Welcome
<?php echo $_REQUEST["name"]; ?>.<br /> You are <?php echo $_REQUEST["age"]; ?>
years old!
$_POST和$_GET的區別
1.get是從伺服器上獲取數據,post是向伺服器傳送數據。
2.get是把參數數據佇列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTPpost機制,將表單內各
個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3.對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的數據。
4.get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5.get安全性非常低,post安全性較高。