Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php GET变量是否覆盖POST变量?_Php_Post_Get - Fatal编程技术网

Php GET变量是否覆盖POST变量?

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、

假设我有一个表单,它发布了一些字段,比如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
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这可能会有所帮助