PHP form 表單傳參明細(xì)研究
更新時(shí)間:2009年07月17日 00:34:07 作者:
最近一段時(shí)間一直在做基于uchome的二次開(kāi)發(fā)網(wǎng)站,因uchome中的很多跳轉(zhuǎn)都是通過(guò)參數(shù)do來(lái)控制的,一直對(duì)這種機(jī)制不是十分的明細(xì),總有一種霧里看花的感覺(jué)。
為什么呢?因?yàn)楸韱蔚奶幚碛蠫ET和POST兩種,怎么在這兩種表單中都要傳遞一直do參數(shù),而且要在后臺(tái)通過(guò)同樣的方式獲取就一直是個(gè)很困惑的問(wèn)題,今天經(jīng)過(guò)幾個(gè)小時(shí)的實(shí)驗(yàn)終于搞懂了,特發(fā)此文。
GET表單:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gbk"/>
<title>表單使用GET方式傳值</title>
</head>
<body>
<!-- action中的parm參數(shù)的值是無(wú)法傳遞到action-get.php的 -->
<form action="action-get.php?parm=url-get" method="get">
<p>
姓名:<input type="text" name="name" />
<!-- 隱藏變量傳值 -->
<input type="hidden" name="hkey" value="hvalue" />
<!-- GET表單的隱藏變量傳值可以通過(guò)$_GET["do"]獲取 -->
<input type="hidden" name="do" value="index" />
<!-- submit不設(shè)置name屬性則不會(huì)出現(xiàn)在url中 -->
<input type="submit" value="提交"/>
</p>
</form>
</body>
</html>
處理GET表單的PHP:
<pre>
<?php
echo "參數(shù) name 的值通過(guò)\$_GET獲取為 ".$_GET["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_POST獲取為 ".$_POST["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["name"]." .\r\n";
echo "參數(shù) parm 的值通過(guò)\$_GET獲取為 ".$_GET["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_POST獲取為 ".$_POST["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["parm"]." .\r\n";
echo "參數(shù) hkey 的值通過(guò)\$_GET獲取為 ".$_GET["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_POST獲取為 ".$_POST["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["hkey"]." .\r\n";
echo "參數(shù) do 的值通過(guò)\$_GET獲取為 ".$_GET["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_POST獲取為 ".$_POST["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["do"]." .\r\n";
?>
</pre>
處理結(jié)果輸出:
參數(shù) name 的值通過(guò)$_GET獲取為 kj ,參數(shù) name 的值通過(guò)$_POST獲取為 ,參數(shù) name 的值通過(guò)$_REQUEST獲取為 kj .
參數(shù) parm 的值通過(guò)$_GET獲取為 ,參數(shù) parm 的值通過(guò)$_POST獲取為 ,參數(shù) parm 的值通過(guò)$_REQUEST獲取為 .
參數(shù) hkey 的值通過(guò)$_GET獲取為 hvalue ,參數(shù) hkey 的值通過(guò)$_POST獲取為 ,參數(shù) hkey 的值通過(guò)$_REQUEST獲取為 hvalue .
參數(shù) do 的值通過(guò)$_GET獲取為 index ,參數(shù) do 的值通過(guò)$_POST獲取為 ,參數(shù) do 的值通過(guò)$_REQUEST獲取為 index .
POST 表單:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gbk"/>
<title>表單使用POST方式傳值</title>
</head>
<body>
<!-- action中的parm和do參數(shù)可以在action-post.php中通過(guò)$_GET方式獲取 -->
<form action="action-post.php?parm=url-post&do=index" method="post">
<p>
姓名:<input type="text" name="name" />
<!-- 隱藏變量傳值 -->
<input type="hidden" name="hkey" value="hvalue" />
<input type="submit" value="提交"/>
</p>
</form>
</body>
</html>
處理 POST 表單的PHP:
<pre>
<?php
echo "參數(shù) name 的值通過(guò)\$_GET獲取為 ".$_GET["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_POST獲取為 ".$_POST["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["name"]." .\r\n";
echo "參數(shù) parm 的值通過(guò)\$_GET獲取為 ".$_GET["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_POST獲取為 ".$_POST["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["parm"]." .\r\n";
echo "參數(shù) hkey 的值通過(guò)\$_GET獲取為 ".$_GET["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_POST獲取為 ".$_POST["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["hkey"]." .\r\n";
echo "參數(shù) do 的值通過(guò)\$_GET獲取為 ".$_GET["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_POST獲取為 ".$_POST["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["do"]." .\r\n";
?>
</pre>
處理結(jié)果輸出:
參數(shù) name 的值通過(guò)$_GET獲取為 ,參數(shù) name 的值通過(guò)$_POST獲取為 zkj ,參數(shù) name 的值通過(guò)$_REQUEST獲取為 zkj .
參數(shù) parm 的值通過(guò)$_GET獲取為 url-post ,參數(shù) parm 的值通過(guò)$_POST獲取為 ,參數(shù) parm 的值通過(guò)$_REQUEST獲取為 url-post .
參數(shù) hkey 的值通過(guò)$_GET獲取為 ,參數(shù) hkey 的值通過(guò)$_POST獲取為 hvalue ,參數(shù) hkey 的值通過(guò)$_REQUEST獲取為 hvalue .
參數(shù) do 的值通過(guò)$_GET獲取為 index ,參數(shù) do 的值通過(guò)$_POST獲取為 ,參數(shù) do 的值通過(guò)$_REQUEST獲取為 index .
結(jié)論:
GET表單值可以通過(guò)_GET獲取;但通過(guò)action的url參數(shù)設(shè)置的參數(shù)總是獲取不到的
POST表單值可以通過(guò)_POST獲取;但通過(guò)action的url參數(shù)設(shè)置的參數(shù)則可以通過(guò)_GET獲取到
同一變量都可以通過(guò)_GET獲取,但在GET表單中通過(guò)隱藏變量設(shè)置,在POST表單中則通過(guò)action的url參數(shù)設(shè)置
GET表單:
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gbk"/>
<title>表單使用GET方式傳值</title>
</head>
<body>
<!-- action中的parm參數(shù)的值是無(wú)法傳遞到action-get.php的 -->
<form action="action-get.php?parm=url-get" method="get">
<p>
姓名:<input type="text" name="name" />
<!-- 隱藏變量傳值 -->
<input type="hidden" name="hkey" value="hvalue" />
<!-- GET表單的隱藏變量傳值可以通過(guò)$_GET["do"]獲取 -->
<input type="hidden" name="do" value="index" />
<!-- submit不設(shè)置name屬性則不會(huì)出現(xiàn)在url中 -->
<input type="submit" value="提交"/>
</p>
</form>
</body>
</html>
處理GET表單的PHP:
復(fù)制代碼 代碼如下:
<pre>
<?php
echo "參數(shù) name 的值通過(guò)\$_GET獲取為 ".$_GET["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_POST獲取為 ".$_POST["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["name"]." .\r\n";
echo "參數(shù) parm 的值通過(guò)\$_GET獲取為 ".$_GET["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_POST獲取為 ".$_POST["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["parm"]." .\r\n";
echo "參數(shù) hkey 的值通過(guò)\$_GET獲取為 ".$_GET["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_POST獲取為 ".$_POST["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["hkey"]." .\r\n";
echo "參數(shù) do 的值通過(guò)\$_GET獲取為 ".$_GET["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_POST獲取為 ".$_POST["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["do"]." .\r\n";
?>
</pre>
處理結(jié)果輸出:
參數(shù) name 的值通過(guò)$_GET獲取為 kj ,參數(shù) name 的值通過(guò)$_POST獲取為 ,參數(shù) name 的值通過(guò)$_REQUEST獲取為 kj .
參數(shù) parm 的值通過(guò)$_GET獲取為 ,參數(shù) parm 的值通過(guò)$_POST獲取為 ,參數(shù) parm 的值通過(guò)$_REQUEST獲取為 .
參數(shù) hkey 的值通過(guò)$_GET獲取為 hvalue ,參數(shù) hkey 的值通過(guò)$_POST獲取為 ,參數(shù) hkey 的值通過(guò)$_REQUEST獲取為 hvalue .
參數(shù) do 的值通過(guò)$_GET獲取為 index ,參數(shù) do 的值通過(guò)$_POST獲取為 ,參數(shù) do 的值通過(guò)$_REQUEST獲取為 index .
POST 表單:
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gbk"/>
<title>表單使用POST方式傳值</title>
</head>
<body>
<!-- action中的parm和do參數(shù)可以在action-post.php中通過(guò)$_GET方式獲取 -->
<form action="action-post.php?parm=url-post&do=index" method="post">
<p>
姓名:<input type="text" name="name" />
<!-- 隱藏變量傳值 -->
<input type="hidden" name="hkey" value="hvalue" />
<input type="submit" value="提交"/>
</p>
</form>
</body>
</html>
處理 POST 表單的PHP:
復(fù)制代碼 代碼如下:
<pre>
<?php
echo "參數(shù) name 的值通過(guò)\$_GET獲取為 ".$_GET["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_POST獲取為 ".$_POST["name"]." ,";
echo "參數(shù) name 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["name"]." .\r\n";
echo "參數(shù) parm 的值通過(guò)\$_GET獲取為 ".$_GET["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_POST獲取為 ".$_POST["parm"]." ,";
echo "參數(shù) parm 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["parm"]." .\r\n";
echo "參數(shù) hkey 的值通過(guò)\$_GET獲取為 ".$_GET["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_POST獲取為 ".$_POST["hkey"]." ,";
echo "參數(shù) hkey 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["hkey"]." .\r\n";
echo "參數(shù) do 的值通過(guò)\$_GET獲取為 ".$_GET["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_POST獲取為 ".$_POST["do"]." ,";
echo "參數(shù) do 的值通過(guò)\$_REQUEST獲取為 ".$_REQUEST["do"]." .\r\n";
?>
</pre>
處理結(jié)果輸出:
參數(shù) name 的值通過(guò)$_GET獲取為 ,參數(shù) name 的值通過(guò)$_POST獲取為 zkj ,參數(shù) name 的值通過(guò)$_REQUEST獲取為 zkj .
參數(shù) parm 的值通過(guò)$_GET獲取為 url-post ,參數(shù) parm 的值通過(guò)$_POST獲取為 ,參數(shù) parm 的值通過(guò)$_REQUEST獲取為 url-post .
參數(shù) hkey 的值通過(guò)$_GET獲取為 ,參數(shù) hkey 的值通過(guò)$_POST獲取為 hvalue ,參數(shù) hkey 的值通過(guò)$_REQUEST獲取為 hvalue .
參數(shù) do 的值通過(guò)$_GET獲取為 index ,參數(shù) do 的值通過(guò)$_POST獲取為 ,參數(shù) do 的值通過(guò)$_REQUEST獲取為 index .
結(jié)論:
GET表單值可以通過(guò)_GET獲取;但通過(guò)action的url參數(shù)設(shè)置的參數(shù)總是獲取不到的
POST表單值可以通過(guò)_POST獲取;但通過(guò)action的url參數(shù)設(shè)置的參數(shù)則可以通過(guò)_GET獲取到
同一變量都可以通過(guò)_GET獲取,但在GET表單中通過(guò)隱藏變量設(shè)置,在POST表單中則通過(guò)action的url參數(shù)設(shè)置
您可能感興趣的文章:
- php自動(dòng)提交表單的方法(基于fsockopen與curl)
- JQuery打造PHP的AJAX表單提交實(shí)例
- PHP 表單提交給自己
- php提交表單時(shí)判斷 if($_POST[submit])與 if(isset($_POST[submit])) 的區(qū)別
- php 表單數(shù)據(jù)的獲取代碼
- 用PHP的超級(jí)變量$_POST獲取HTML表單(HTML Form) 數(shù)據(jù)
- php中一個(gè)完整表單處理實(shí)現(xiàn)代碼
- php表單轉(zhuǎn)換textarea換行符的方法
- php 表單驗(yàn)證實(shí)現(xiàn)代碼
- php使用curl實(shí)現(xiàn)簡(jiǎn)單模擬提交表單功能
相關(guān)文章
WordPress中重置文章循環(huán)的rewind_posts()函數(shù)講解
這篇文章主要介紹了WordPress中的文章循環(huán)重置函數(shù)rewind_posts()講解,附帶不依賴(lài)循環(huán)的single_cat_title()函數(shù)的用法介紹,需要的朋友可以參考下2016-01-01
PHP error_log()將錯(cuò)誤信息寫(xiě)入一個(gè)文件(定義和用法)
PHP error_log()定義和用法,帶有二個(gè)簡(jiǎn)單小例子加函數(shù)解釋2013-10-10
php驗(yàn)證郵箱和ip地址最簡(jiǎn)單方法匯總
這篇文章為大家分享了php驗(yàn)證郵箱和ip地址最簡(jiǎn)單的方法,,需要的朋友可以參考下2015-10-10
php判斷當(dāng)前操作系統(tǒng)類(lèi)型
這篇文章主要介紹了php判斷當(dāng)前操作系統(tǒng)類(lèi)型,分為兩種情況一種是服務(wù)器端,一種是客戶(hù)端,感興趣的小伙伴們可以參考一下2015-10-10
PHP實(shí)現(xiàn)的通過(guò)參數(shù)生成MYSQL語(yǔ)句類(lèi)完整實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)的通過(guò)參數(shù)生成MYSQL語(yǔ)句類(lèi),結(jié)合完整實(shí)例形式分析了生成MYSQL語(yǔ)句類(lèi)的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2016-04-04

