浅析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 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
php 表单验证实现代码
Mar 10 PHP
浅析PHP微信支付通知的处理方式
May 25 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php内存缓存实现方法
Jan 24 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
深入浅析PHP无限极分类的案例教程
May 09 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
PHP使用SOAP调用API操作示例
Dec 25 PHP
php apache开启跨域模式过程详解
Jul 08 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
php探针不显示内存解决方法
2019/09/17 PHP
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
一个JavaScript防止表单重复提交的实例
2014/10/21 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
ionic2中使用自动生成器的方法
2018/03/04 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python实现得到一个给定类的虚函数
2014/09/28 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
文秘专业自荐信
2013/10/14 职场文书
优秀的茶餐厅创业计划书
2014/01/03 职场文书
网络优化专员求职信
2014/05/04 职场文书
奥林匹克的口号
2014/06/13 职场文书
小学六一主持词开场白
2015/05/28 职场文书
分享3个非常实用的 Python 模块
2022/03/03 Python