微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

浅析get与post的一些特殊情况

最近在做一些有关文件上传等的工作,途中遇到了以下问题:

将表单以post方式提交给一个有参数的url(如:res.PHP?param=aaa),这样的得到的结果将会是什么呢?

下面就从几个例子将有关get与post的相关内容进行测试,首先看一下最简单的

rush:PHP;">
PHP?param=aaa" method="get">

以get的方式提交到已经有这个参数的url,结果是对应的value进行了覆盖,获得了的param的为bbb. 如果url里面参数,但是和表单里面的name不同呢?看下面测试例子

rush:PHP;"> PHP echo $_GET ['param1']; echo "
"; echo $_GET ['param2']; ?> PHP?param1=aaa" method="get">

这个的结果是正确的得到了param2的值,但是没有得到param1的值,说明以get方式提交均将原先url的参数去除了. 下面再看一下post方式提交的情况

首先看一下name值相同时的情况

rush:PHP;"> PHP echo "get=" . $_GET ['param']; echo "
"; echo "post=" . $_POST ['param']; ?> PHP?param=aaa" method="post">

这种情况下,输出的结果是get方式获得的是aaa,post方式获取的是bbb,说明此种情况下互不影响.get与post单独隔离开了. 下面看一下使用post方式获取url后面的参数如何

rush:PHP;"> PHP echo "get=" . $_GET ['param2']; echo "
"; echo "post=" . $_POST ['param1']; ?> PHP?param1=aaa" method="post">

此种情况下,获取的参数全部为空,所以可以说PHP中get与post获取的参数是相互隔离的. 不过今天使用java进行文件上传的时候,可以正确的获取所有数据,即servlet里面可以使用request获取不论是post的表单数据或者是url后的get数据.毕竟servlet中获取参数的方法是一样的.

原文地址:https://www.jb51.cc/php/24101.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐