浅析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实现的在线人员函数库
Apr 09 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
PHP持久连接mysql_pconnect()函数使用介绍
Feb 05 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
php判断用户是否手机访问代码
Jun 08 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
ThinkPHP简单使用memcache缓存的方法
Nov 15 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 PHP
PHP fopen中文文件名乱码问题解决方案
Oct 28 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 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
第五节--克隆
2006/11/16 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
JS链式调用的实现方法
2013/03/07 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
Python实现模拟时钟代码推荐
2015/11/08 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
学校安全生产承诺书
2014/05/23 职场文书
中秋节活动总结
2014/08/29 职场文书
入党积极分子个人总结
2015/03/02 职场文书
校长新学期寄语2016
2015/12/04 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
vue实现锚点定位功能
2021/06/29 Vue.js
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python