Php表单中GET和POST的异同点以及何时选用

  • 2017-02-24 20:48:22
  • 3,618 次阅读
  • 稿源:天马行空

在form表单提交数据时候,method属性有两种方式,一种是post,另一种是get。那么它们之间又有何异同点,究竟什么时候选用才合适,下面就简单介绍一下。

相同点是:

GET和POST都可以创建数组(例如,array( key=> value, key1 => value1, key2=> value2,…))。此数组包含键名和值,其中的键名是表单控件的名称,而值是来自用户的输入数据。

GET和POST被视作$_GET和$_POST。它们都是超全局变量,这j就意味着对它们的访问无需考虑作用域,也无需任何特殊代码,就能能够从任何函数、类或文件中访问它们。

不同点是:

$_GET是通过URL参数传递到当前脚本的变量数组。

$_POST是通过HTTP POST传递到当前脚本的变量数组。

何时选用GET?

通过GET方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在URL 中)。GET对所发送信息的数量也有限制。限制在大于2000个字符。不过,由于变量显示在URL 中,把页面添加到书签中也更为方便。

GET可用于发送非敏感的数据,但绝不能使用GET来发送密码或其他敏感信息!

何时选用POST?

通过POST方法从表单发送的信息对其他人是不可见的(所有名称/值会被嵌入HTTP请求的主体中),并且对所发送信息的数量也无限制。

另外POST支持高阶功能,比如在向服务器上传文件时可以进行multi-part二进制输入。

不过,由于变量未显示在URL中,也就无法将页面添加到书签。

总之,post请求方式要比get请求方式安全的多,如果包含一些重要的信息,或者在做数据的添加,修改,删除操作时,建议使用post的方式;如果是在做查询统计时候,建议使用get方式比较好。

TAG:
喜欢 0

文章评论 (2)

  1. online cialis说道:

    Howdy! I could have sworn I’ve visited this blog before but after browsing through a
    few of the posts I realized it’s new to me. Anyways, I’m certainly
    pleased I discovered it and I’ll be book-marking it and checking
    back often!

    [1楼]网友 Mac OS X | Chrome 56.0.2986.42   
  2. Cialis说道:

    Thanks for one’s marvelous posting! I seriously enjoyed reading it, you will be a great author.I will be sure
    to bookmark your blog and will eventually come back in the foreseeable future.
    I want to encourage you to ultimately continue your great work, have a nice morning!

    [2楼]网友 Mac OS X | Chrome 67.0.3396.62   

表情

大眼 可爱 大笑 坏笑 害羞 发怒 折磨 快哭了 大哭 白眼 晕 流汗 困 腼腆 惊讶 憨笑 色 得意 骷髅 囧 睡觉 眨眼 亲亲 疑问 闭嘴 难过 淡定 抗议 鄙视 猪头