浅析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
PHP中ADODB类详解
Mar 25 PHP
php 特殊字符处理函数
Sep 05 PHP
PHP 各种排序算法实现代码
Aug 20 PHP
将一维或多维的数组连接成一个字符串的php代码
Aug 08 PHP
php字符编码转换之gb2312转为utf8
Oct 28 PHP
php绘图中显示不出图片的原因及解决
Mar 05 PHP
php获取域名的google收录示例
Mar 24 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
Mar 23 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
xajax写的留言本
2006/11/25 PHP
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
php Memcache 中实现消息队列
2009/11/24 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
php中opendir函数用法实例
2014/11/15 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
git进行版本控制心得详谈
2017/12/10 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
Python多图片合并PDF的方法
2019/01/03 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
小溪流的歌教学反思
2014/02/13 职场文书
委托协议书范本
2014/04/22 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
项目建议书
2015/02/04 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang