浅析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 和 MySQL 基础教程(一)
Oct 09 PHP
完美解决dedecms中的[html][/html]和[code][/code]问题
Mar 20 PHP
php str_replace的替换漏洞
Mar 15 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
php对数组排序代码分享
Feb 24 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
php文件系统处理方法小结
May 23 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 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
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
小程序实现投票进度条
2019/11/20 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
详解Python中for循环的使用方法
2015/05/14 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
python图像常规操作
2017/11/11 Python
python负载均衡的简单实现方法
2018/02/04 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python当中的array数组对象实例详解
2019/06/12 Python
Python 类的魔法属性用法实例分析
2019/11/21 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
家佳咖啡店创业计划书
2013/12/27 职场文书
年终奖发放方案
2014/06/02 职场文书
会计系毕业求职信
2014/08/07 职场文书
旅游活动总结
2014/08/27 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
python中的sys模块和os模块
2022/03/20 Python
详解Python中的for循环
2022/04/30 Python