浅析get与post的一些特殊情况
程序员文章站
2023-02-16 09:51:09
最近在做一些有关文件上传等的工作,途中遇到了以下问题:
将表单以post方式提交给一个有参数的url(如:res.php?param=aaa),这样的得到的结果将...
最近在做一些有关文件上传等的工作,途中遇到了以下问题:
将表单以post方式提交给一个有参数的url(如:res.php?param=aaa),这样的得到的结果将会是什么呢?
下面就从几个例子将有关get与post的相关内容进行测试,首先看一下最简单的
<html> <body> <?php echo $_get ['param']; ?> <form action="get_post_test.php?param=aaa" method="get"> <input type="text" name="param" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
以get的方式提交到已经有这个参数的url,结果是对应的value进行了覆盖,获得了的param的为bbb.
如果url里面参数,但是和表单里面的name不同呢?看下面测试例子
<html> <body> <?php echo $_get ['param1']; echo "<br>"; echo $_get ['param2']; ?> <form action="get_post_test.php?param1=aaa" method="get"> <input type="text" name="param2" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
这个的结果是正确的得到了param2的值,但是没有得到param1的值,说明以get方式提交均将原先url的参数去除了.
下面再看一下post方式提交的情况
首先看一下name值相同时的情况
<html> <body> <?php echo "get=" . $_get ['param']; echo "<br>"; echo "post=" . $_post ['param']; ?> <form action="get_post_test.php?param=aaa" method="post"> <input type="text" name="param" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
这种情况下,输出的结果是get方式获得的是aaa,post方式获取的是bbb,说明此种情况下互不影响.get与post单独隔离开了.
下面看一下使用post方式获取url后面的参数如何
<html> <body> <?php echo "get=" . $_get ['param2']; echo "<br>"; echo "post=" . $_post ['param1']; ?> <form action="get_post_test.php?param1=aaa" method="post"> <input type="text" name="param2" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
此种情况下,获取的参数全部为空,所以可以说php中get与post获取的参数是相互隔离的.
不过今天使用java进行文件上传的时候,可以正确的获取所有数据,即servlet里面可以使用request获取不论是post的表单数据或者是url后的get数据.毕竟servlet中获取参数的方法是一样的.
推荐阅读
-
99%的人都理解错了HTTP中GET与POST的区别(转载
-
php fsockopen伪造post与get方法的详解
-
详解WordPress开发中的get_post与get_posts函数使用
-
ajax请求get与post的区别总结_javascript技巧
-
ajax页面乱码与get post乱码的解决
-
Jquery AJAX POST与GET之间的区别
-
php fsockopen伪造post与get方法的详解
-
浅析get与post的一些特殊情况_PHP
-
基于WebClient实现Http协议的Post与Get对网站进行模拟登陆和浏览实例
-
基于WebClient实现Http协议的Post与Get对网站进行模拟登陆和浏览实例