php中使用$_REQUEST需要注意的一个问题

php中使用$_REQUEST需要注意的一个问题,第1张

问题

说起$_REQUEST,大家都知道的是它是$_GET和$_POST的集合。但是如果你有心的话,查一下文档,会看到:

$_REQUEST

An

associative

array

that

by

default

contains

the

contents

of

$_GET,

$_POST

and

$_COOKIE.

这里说$_REQUEST默认是$_GET,

$_POST,

$_COOKIE的集合,结果我使用我本地的php查看了一下发现只有$_GET,

$_POST,

没有$_COOKIE!!

难道文档是错的?

答案

其实changelog中有给出解释:

版本5.3以上,php.ini中有request_order属性来设置$_REQUEST。查了下php.ini,

request_order设置成为了GP(Get

and

Post)。

request_order的官网描述:

request_order

string

This

directive

describes

the

order

in

which

PHP

registers

GET,

POST

and

Cookie

variables

into

the

_REQUEST

array.

Registration

is

done

from

left

to

right,

newer

values

override

older

values.

If

this

directive

is

not

set,

variables_order

is

used

for

$_REQUEST

contents.

Note

that

the

default

distribution

php.ini

files

does

not

contain

the

'C'

for

cookies,

due

to

security

concerns.

原来是G,P,C分别代表Get,Post,Cookie,5.3以上的版本request_order默认是设置成GP的,并不包含C,即$_REQUEST默认只包含$_GET和$_POST

!!

(所以官网文档有一定的误导)。

也同时说一下G,P,C的先后顺序就是设置的array的覆盖顺序。

提醒下如果你是使用fpm-php实验的话,改了php.ini后你需要重启php-fpm

PHP $_REQUEST是用于收集HTML表单提交的数据,PHP $_REQUEST属于PHP的超级全局变量。

以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。

在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_REQUEST 来收集表单中的 input 字段数据。

扩展资料:

PHP中预定义了几个超级全局变量 ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

1、$GLOBAL

$GLOBAL 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。$GLOBAL 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

2、$_SERVER

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。

这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。 

3、$_REQUEST 

PHP $_REQUEST 用于收集HTML表单提交的数据。 

4、$_POST 

PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"

5、$_GET 

PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。 

参考资料:百度百科——超级全局变量


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11113466.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存