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


Posted in PHP onJuly 28, 2014

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

将表单以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中获取参数的方法是一样的.

PHP 相关文章推荐
用PHP查询域名状态whois的类
Nov 25 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
Sep 30 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
php、java、android、ios通用的3des方法(推荐)
Sep 09 PHP
php layui实现前端多图上传实例
Jul 30 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
thinkphp学习笔记之多表查询
Jul 28 #PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 #PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 #PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 #PHP
PHP实现多图片上传类实例
Jul 26 #PHP
PHP判断文章里是否有图片的简单方法
Jul 26 #PHP
php中创建和调用webservice接口示例
Jul 25 #PHP
You might like
PHP截取中文字符串的问题
2006/07/12 PHP
桌面中心(一)创建数据库
2006/10/09 PHP
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
js 获取、清空input type=&quot;file&quot;的值(示例代码)
2013/12/24 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
详解vue中组件参数
2018/07/09 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
Form表单及django的form表单的补充
2019/07/25 Python
python通过链接抓取网站详解
2019/11/20 Python
python如何实时获取tcpdump输出
2020/09/16 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
校园门卫岗位职责
2013/12/09 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
解除同居协议书
2015/01/29 职场文书
幼师辞职信范文
2015/02/27 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
Python OpenCV实现图形检测示例详解
2022/04/08 Python