浅析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 数组遍历顺序理解
Sep 09 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
destoon供应信息title调用出公司名称的方法
Aug 22 PHP
新浪微博OAuth认证和储存的主要过程详解
Mar 27 PHP
基于php的微信公众平台开发入门实例
Apr 15 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
Mar 21 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
Laravel+jQuery实现AJAX分页效果
Sep 14 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
Yii框架Session与Cookie使用方法示例
Oct 14 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 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php强制运行广告的方法
2014/12/01 PHP
ThinkPHP路由详解
2015/07/27 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
python创建和使用字典实例详解
2013/11/01 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
公司年会晚宴演讲稿
2014/01/06 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
运动会新闻报道稿
2015/07/22 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技