PHP $_POST 變量
PHP $_POST 變量
在 PHP 中,預(yù)定義的 $_POST 變量用于收集來(lái)自 method="post" 的表單中的值。
$_POST 變量
預(yù)定義的 $_POST 變量用于收集來(lái)自 method="post" 的表單中的值。
從帶有 POST 方法的表單發(fā)送的信息,對(duì)任何人都是不可見的(不會(huì)顯示在瀏覽器的地址欄),并且對(duì)發(fā)送信息的量也沒有限制。
注釋:然而,默認(rèn)情況下,POST 方法的發(fā)送信息的量最大值為 8 MB(可通過設(shè)置 php.ini 文件中的 post_max_size 進(jìn)行更改)。
實(shí)例
form.html 文件代碼如下:
<html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</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>
當(dāng)用戶點(diǎn)擊 "提交" 按鈕時(shí),URL 類似如下所示:
何時(shí)使用 method="post"?
從帶有 POST 方法的表單發(fā)送的信息,對(duì)任何人都是不可見的,并且對(duì)發(fā)送信息的量也沒有限制。
然而,由于變量不顯示在 URL 中,所以無(wú)法把頁(yè)面加入書簽。
PHP $_REQUEST 變量
預(yù)定義的 $_REQUEST 變量包含了 $_GET、$_POST 和 $_COOKIE 的內(nèi)容。
$_REQUEST 變量可用來(lái)收集通過 GET 和 POST 方法發(fā)送的表單數(shù)據(jù)。
實(shí)例
你可以將 "welcome.php" 文件修改為如下代碼,它可以接受 $_GET、$_POST等數(shù)據(jù)。
歡迎 <?php echo $_REQUEST["fname"]; ?>!<br>
你的年齡是 <?php echo $_REQUEST["age"]; ?> 歲。
GET和POST傳值方式的區(qū)別:
1,Get將表單中數(shù)據(jù)的按照variable=value的形式,添加到action所指向的URL后面,并且兩者使用“?”連接,而各個(gè)變量之間使用“&”連接;Post是將表單中的數(shù)據(jù)放在form的數(shù)據(jù)體中,按照變量和值相對(duì)應(yīng)的方式,傳遞到action所指向URL。
2,Get是不安全的,因?yàn)樵趥鬏斶^程,數(shù)據(jù)被放在請(qǐng)求的URL中,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶代理都會(huì)將請(qǐng)求URL記錄到日志文件中,然后放在某個(gè)地方,這樣就可能會(huì)有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會(huì)一同顯示在用戶面前。Post的所有操作對(duì)用戶來(lái)說(shuō)都是不可見的。
3,Get傳輸?shù)臄?shù)據(jù)量小,這主要是因?yàn)槭躑RL長(zhǎng)度限制;而Post可以傳輸大量的數(shù)據(jù),所以在上傳文件只能使用Post(當(dāng)然還有一個(gè)原因,將在后面的提到)。
4,Get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符;而Post支持整個(gè)ISO10646字符集。
5,Get是Form的默認(rèn)方法。
看透不說(shuō)透
我們現(xiàn)在大部分都是用post的方式提交,get在部分情況下我們也會(huì)用!
8年前 添加回復(fù) 0