浅析get与post的一些特殊情况,浅析getpost_PHP教程

php中文网
发布: 2016-07-13 10:22:04
原创
940人浏览过

浅析get与post的一些特殊情况,浅析getpost

最近在做一些有关文件上传等的工作,途中遇到了以下问题:

将表单以post方式提交给一个有参数的url(如:res.php?param=aaa),这样的得到的结果将会是什么呢?

下面就从几个例子将有关get与post的相关内容进行测试,首先看一下最简单的

Get笔记
Get笔记

Get笔记,一款AI驱动的知识管理产品

Get笔记 125
查看详情 Get笔记
<html>
<body>
<&#63;php
echo $_GET ['param'];
&#63;>
 <form action="get_post_test.php&#63;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>
<&#63;php
echo $_GET ['param1'];
echo "<br>";
echo $_GET ['param2'];
&#63;>
 <form action="get_post_test.php&#63;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>
<&#63;php
echo "get=" . $_GET ['param'];
echo "<br>";
echo "post=" . $_POST ['param'];
&#63;>
 <form action="get_post_test.php&#63;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>
<&#63;php
echo "get=" . $_GET ['param2'];
echo "<br>";
echo "post=" . $_POST ['param1'];
&#63;>
 <form action="get_post_test.php&#63;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中获取参数的方法是一样的.

get与post方式提交的主要不同,分别说出它们的一种使用情况

get地址栏里能直接看到提交的参数,并且大小是有限制的,不同的浏览器限制的字节不同
post不限制大小,地址栏看不到

查询的可以用get
其他操作尽量用post
 

与POST方法比较起来,GET方法具有的特点是啥?

选C
1. 区别: 在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有以下几点不同: 1、Get方法通过URL请求来传递用户的输入。Get方法传递的参数和值在URL上用?name=value&name=value的形式显示。Post方法通过另外的形式。 2、通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码将出现在URL上。如果登陆页面可以被浏览器缓存或其他人可以访问客户的这台机器。那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重的安全性问题。 3、显然Get方法局限性在于当要传的值很多是,就不便这样,否则URL可能超长度而出错。 本人认为如非必要的情况下用post,安全性高一些
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/851349.htmlTechArticle浅析get与post的一些特殊情况,浅析getpost 最近在做一些有关文件上传等的工作,途中遇到了以下问题: 将表单以post方式提交给一个有参数的...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号