浅析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 相关文章推荐
WINDOWS服务器安装多套PHP的另类解决方案
Oct 09 PHP
推荐文章系统(一)
Oct 09 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
php判断ip黑名单程序代码实例
Feb 24 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
php实现Mysql简易操作类
Oct 11 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 PHP
layui数据表格自定义每页条数limit设置
Oct 26 PHP
PHP 实现 WebSocket 协议原理与应用详解
Apr 22 PHP
php与阿里云短信接口接入操作案例分析
May 27 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获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
vue2项目使用sass的示例代码
2017/06/28 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
React中的refs的使用教程
2018/02/13 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python urls.py的三种配置写法实例详解
2017/04/28 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python定时器线程池原理详解
2020/02/26 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
PHP面试题附答案
2015/11/28 面试题
母亲节演讲稿范文
2014/01/02 职场文书
信访工作者先进事迹
2014/01/17 职场文书
小学数学教研活动总结
2014/07/01 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
2014年资料员工作总结
2014/11/18 职场文书
网络营销计划
2015/01/17 职场文书
学籍证明模板
2015/06/18 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers