Php GET变量是否覆盖POST变量?
假设我有一个表单,它发布了一些字段,比如amount,比如说Php GET变量是否覆盖POST变量?,php,post,get,Php,Post,Get,假设我有一个表单,它发布了一些字段,比如amount,比如说payment.php?amount=100 而不是使用 $amount=$_POST['amount']; 如果我使用: $amount=$_REQUEST['amount']; 我的问题是,当$\u REQUEST方法可用于检索get和post变量时,表单发送的post变量是否被get变量覆盖?如果使用的是PHP5.3,则可以选择$\u REQUEST顺序。从PHP手册: request\u order指令描述了PHP将GET、
payment.php?amount=100
而不是使用
$amount=$_POST['amount'];
如果我使用:
$amount=$_REQUEST['amount'];
我的问题是,当
$\u REQUEST
方法可用于检索get和post变量时,表单发送的post变量是否被get变量覆盖?如果使用的是PHP5.3,则可以选择$\u REQUEST
顺序。从PHP手册:
request\u order
指令描述了PHP将GET
、POST
和Cookie
变量注册到\u request
数组中的顺序。注册是从左到右进行的,较新的值覆盖较旧的值
正如它所说的,它对$\u POST
比$\u GET
更偏爱。因此,如果您有两个相同的值,$\u请求
将采用$\u POST
的值,而不是$\u GET
$\u请求中的变量通过GET提供给脚本,
POST和COOKIE输入机制,因此可以通过
无法信任远程用户和。存在与秩序
此数组中列出的变量是根据PHP定义的
变量\u顺序配置指令
及
变量\顺序字符串设置EGPCS(环境、Get、,
Post、Cookie和服务器)变量解析
所以在你的案例中,帖子是在前面
$\u请求同时处理$\u POST和$\u GET value
$\u POST
方法对最终用户不可见,因此他/她无法操作此信息,因此它更安全,并且没有像$\u GET
方法那样的发送信息限制
$\u请求
方法用于通过页面调用上的数据传输接收信息数据,而不管数据发送方法是
最重要的是$\u REQUEST
方法仅用于读取传递的信息,而不用于通过页面调用发送信息
无论哪种方式,速度差异都应该是最小的,当然,在使用请求时,POST覆盖GET是两个不同的超级全局变量,它们不会相互覆盖 php.ini中的
request\u order
configuration指令将确定$\u request中包含哪些超级全局变量(GET、POST、COOKIE、ENV和SERVER)
该指令描述了PHP将GET、POST和Cookie变量注册到_请求数组中的顺序。注册是从左到右进行的,较新的值覆盖较旧的值
通常(默认情况下)它设置为GP。这意味着在最终的_请求数组中,如果两者都存在,POST将覆盖GET。POST在使用请求时覆盖GET这可能会有所帮助