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)文章
php實(shí)現(xiàn)跨域提交form表單的方法【2種方法】
這篇文章主要介紹了php實(shí)現(xiàn)跨域提交form表單的方法,結(jié)合實(shí)例形式分析了curl及ajax兩種方法進(jìn)行跨域提交的操作技巧,需要的朋友可以參考下2016-10-10php discuz 主題表和回帖表的設(shè)計(jì)
看看網(wǎng)上優(yōu)秀程序的源碼,分析優(yōu)缺點(diǎn),快速提高我們的水平。2009-03-03深入理解PHP之源碼目錄結(jié)構(gòu)與功能說(shuō)明
這篇文章主要介紹了深入理解PHP之源碼目錄結(jié)構(gòu)與功能說(shuō)明,簡(jiǎn)單分析了php源碼的主要目錄及相應(yīng)的功能,需要的朋友可以參考下2016-06-06PHPExcel導(dǎo)出Excel報(bào)錯(cuò):PHPExcel_IOFactory::load()的解決方案
這篇文章主要介紹了PHPExcel導(dǎo)出Excel報(bào)錯(cuò):PHPExcel_IOFactory::load()的解決方案,文中有詳細(xì)的問(wèn)題分析和解決方法供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下2023-11-11php checkdate、getdate等日期時(shí)間函數(shù)操作詳解
PHP的日期時(shí)間函數(shù)date()中介紹了PHP日期時(shí)間函數(shù)的簡(jiǎn)單用法,這類將介紹更多的函數(shù)來(lái)豐富我們的應(yīng)用。2010-03-03