浅析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的栏目导航程序
Oct 09 PHP
人大复印资料处理程序_补充篇
Oct 09 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
php 正则匹配函数体
Aug 25 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
PHP clearstatcache()函数详解
Mar 02 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
php文件上传简单实现方法
Jan 24 PHP
php使用pear_smtp发送邮件
Apr 15 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
PHP7 新增功能
Mar 09 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中根据变量的类型 选择echo或dump
2012/07/05 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
node.js中watch机制详解
2014/11/17 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
jQuery实现鼠标拖拽登录框移动效果
2020/09/13 jQuery
Python isinstance判断对象类型
2008/09/06 Python
Python中的高级数据结构详解
2015/03/27 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
Python决策树分类算法学习
2017/12/22 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
python Zmail模块简介与使用示例
2020/12/19 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
奥巴马演讲稿
2014/01/08 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
学生会个人自荐书范文
2014/02/12 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
信息员培训方案
2014/06/12 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
离职报告范文
2014/11/04 职场文书
培训计划通知
2015/07/15 职场文书
关于五一放假的通知
2015/08/18 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL