PHPform表单传参明细研究
研究 表单 传参 明细
2023-06-13 09:14:11 时间
为什么呢?因为表单的处理有GET和POST两种,怎么在这两种表单中都要传递一直do参数,而且要在后台通过同样的方式获取就一直是个很困惑的问题,今天经过几个小时的实验终于搞懂了,特发此文。
GET表单:
复制代码代码如下:
GET表单:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk"/>
<title>表单使用GET方式传值</title>
</head>
<body>
<!--action中的parm参数的值是无法传递到action-get.php的-->
<formaction="action-get.php?parm=url-get"method="get">
<p>
姓名:<inputtype="text"name="name"/>
<!--隐藏变量传值-->
<inputtype="hidden"name="hkey"value="hvalue"/>
<!--GET表单的隐藏变量传值可以通过$_GET["do"]获取-->
<inputtype="hidden"name="do"value="index"/>
<!--submit不设置name属性则不会出现在url中-->
<inputtype="submit"value="提交"/>
</p>
</form>
</body>
</html>
处理GET表单的PHP:
<pre>
<?php
echo"参数name的值通过\$_GET获取为".$_GET["name"].",";
echo"参数name的值通过\$_POST获取为".$_POST["name"].",";
echo"参数name的值通过\$_REQUEST获取为".$_REQUEST["name"].".\r\n";
echo"参数parm的值通过\$_GET获取为".$_GET["parm"].",";
echo"参数parm的值通过\$_POST获取为".$_POST["parm"].",";
echo"参数parm的值通过\$_REQUEST获取为".$_REQUEST["parm"].".\r\n";
echo"参数hkey的值通过\$_GET获取为".$_GET["hkey"].",";
echo"参数hkey的值通过\$_POST获取为".$_POST["hkey"].",";
echo"参数hkey的值通过\$_REQUEST获取为".$_REQUEST["hkey"].".\r\n";
echo"参数do的值通过\$_GET获取为".$_GET["do"].",";
echo"参数do的值通过\$_POST获取为".$_POST["do"].",";
echo"参数do的值通过\$_REQUEST获取为".$_REQUEST["do"].".\r\n";
?>
</pre>
处理结果输出:
参数name的值通过$_GET获取为kj,参数name的值通过$_POST获取为,参数name的值通过$_REQUEST获取为kj.
参数parm的值通过$_GET获取为,参数parm的值通过$_POST获取为,参数parm的值通过$_REQUEST获取为.
参数hkey的值通过$_GET获取为hvalue,参数hkey的值通过$_POST获取为,参数hkey的值通过$_REQUEST获取为hvalue.
参数do的值通过$_GET获取为index,参数do的值通过$_POST获取为,参数do的值通过$_REQUEST获取为index.
POST表单:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk"/>
<title>表单使用POST方式传值</title>
</head>
<body>
<!--action中的parm和do参数可以在action-post.php中通过$_GET方式获取-->
<formaction="action-post.php?parm=url-post&do=index"method="post">
<p>
姓名:<inputtype="text"name="name"/>
<!--隐藏变量传值-->
<inputtype="hidden"name="hkey"value="hvalue"/>
<inputtype="submit"value="提交"/>
</p>
</form>
</body>
</html>
处理POST表单的PHP:
<pre>
<?php
echo"参数name的值通过\$_GET获取为".$_GET["name"].",";
echo"参数name的值通过\$_POST获取为".$_POST["name"].",";
echo"参数name的值通过\$_REQUEST获取为".$_REQUEST["name"].".\r\n";
echo"参数parm的值通过\$_GET获取为".$_GET["parm"].",";
echo"参数parm的值通过\$_POST获取为".$_POST["parm"].",";
echo"参数parm的值通过\$_REQUEST获取为".$_REQUEST["parm"].".\r\n";
echo"参数hkey的值通过\$_GET获取为".$_GET["hkey"].",";
echo"参数hkey的值通过\$_POST获取为".$_POST["hkey"].",";
echo"参数hkey的值通过\$_REQUEST获取为".$_REQUEST["hkey"].".\r\n";
echo"参数do的值通过\$_GET获取为".$_GET["do"].",";
echo"参数do的值通过\$_POST获取为".$_POST["do"].",";
echo"参数do的值通过\$_REQUEST获取为".$_REQUEST["do"].".\r\n";
?>
</pre>
处理结果输出:
参数name的值通过$_GET获取为,参数name的值通过$_POST获取为zkj,参数name的值通过$_REQUEST获取为zkj.
参数parm的值通过$_GET获取为url-post,参数parm的值通过$_POST获取为,参数parm的值通过$_REQUEST获取为url-post.
参数hkey的值通过$_GET获取为,参数hkey的值通过$_POST获取为hvalue,参数hkey的值通过$_REQUEST获取为hvalue.
参数do的值通过$_GET获取为index,参数do的值通过$_POST获取为,参数do的值通过$_REQUEST获取为index.
结论:
GET表单值可以通过_GET获取;但通过action的url参数设置的参数总是获取不到的
POST表单值可以通过_POST获取;但通过action的url参数设置的参数则可以通过_GET获取到
同一变量都可以通过_GET获取,但在GET表单中通过隐藏变量设置,在POST表单中则通过action的url参数设置
相关文章
- thymeleaf模板注入学习与研究--查找与防御
- 超详细 | 生物医学研究和临床应用中scRNA-seq的数据分析指南
- MySQL大数据处理技术研究(mysql处理大数据)
- Oracle 11g/12c新特性研究(oracle1112)
- 管理基于SQL Server的无项目管理技术研究(sqlserver无项目)
- MIT重磅研究:基于人工神经网络,探索抑制神经元的生物学意义
- 研究人员表示,到 2245 年信息量可能占世界质量的一半
- 基于SQL Server的探测器开发研究(sqlserver探测器)
- 连接MySQL与Java实现长连接的研究(mysqljava长)
- Oracle存储小数类型的技术研究(oracle保存小数类型)
- 提高提升Redis集群稳定性的方法研究(redis集群稳定性如何)
- Oracle OR与IN的比较研究(oracle or与in)
- 加密货币用户都是白眼狼?研究团队建议向他们收取更高手续费