浅析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下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
phpinfo 系统查看参数函数代码
Jun 05 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
一个基于PDO的数据库操作类
Mar 24 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
9个比较实用的php代码片段
Mar 15 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
PHP设计模式之工厂方法设计模式实例分析
Apr 25 PHP
php的无刷新操作实现方法分析
Feb 28 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
PHP4之COOKIE支持详解
2006/10/09 PHP
php 动态多文件上传
2009/01/18 PHP
php实现的农历算法实例
2015/08/11 PHP
json 实例详细说明教程
2009/10/31 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
JS实现百度网盘任意文件强制下载功能
2018/08/31 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Python with的用法
2014/08/22 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
Python subprocess模块常见用法分析
2018/06/12 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python通过http下载文件的方法详解
2019/07/26 Python
Python imread、newaxis用法详解
2019/11/04 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
Python Sqlalchemy如何实现select for update
2020/10/12 Python
个人求职简历中英文自我评价
2013/12/16 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
满月酒答谢词
2014/01/14 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
教师暑期培训感言
2014/08/15 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
公司年会开场白
2015/06/01 职场文书