2011-04-29 76 views
1

我是一名PHP初学者。我在php手册中看不到这个问题的答案。

我知道什么是REQUEST超级全球性,但是'做'内置到PHP的东西?我发现了一个教程这个代码...

if (isset($_REQUEST['do']) && ($_REQUEST['do'] == 'add')) 

是“不”只是意味着该表格已经提交?在来自链接的信息...?

回答

2

的任何值在$_COOKIE设置,$_GET,和$_POST将在$_REQUEST显示,这意味着该数据提交至该网页的形式可能具有像在本实施例中的'do'一个键的输入元件:

<input type="hidden" name="do" value="add" /> 

当然也可能是do的名称,或与do的名称,或只是一个静态的查询字符串的do一个名称的任何Cookie进行任何 HTML表单元素。

+1

谢谢,这是我想知道的。 “do”是用户设定的值。 – Leahcim 2011-04-29 02:00:09

2

这意味着GET/POST/COOKIE(GPC)名称'do'已被提交。

PHP手册是非常好的,而且可以给你很多答案:

http://php.net/manual/en/reserved.variables.request.php

当你递交了“请求”(URL与持久的cookie,基于URL的GET变量,POST'd来自表单或其他方式的变量),浏览器将发送包含可通过类型(GPC)识别的键/值对然后按名称(以获取值)的HTML标头。

所以一个GET变量可以被提交:

http://www.example.com/?do=yes

并与PHP服务器将允许您访问do变量是:

$do = $_GET['do']; 

或者:

$do = $_REQUEST['do']; 

我的偏好是使用t他提出的实际方法,即拨打$_GET['do'],而不是$_REQUEST

+0

我在手册中看到了这个页面,但它并不能解释“do”是否始终是REQUEST的一部分。 zzzzBov的回答告诉我我想知道什么。也就是说,“做”是由程序员设置的。 – Leahcim 2011-04-29 02:01:51

+0

'GPC'由请求控制,即提交给服务器的请求头中包含的内容。 GET是URL的一部分,POST是“附加”到请求的数据,COOKIE在头本身内。没有具体的键/值只是任何/所有请求的一部分。如果服务器或用户(通过表单或Javascript)没有放在那里,它不是请求的一部分。 – 2011-04-29 02:06:28

1

它将通过GET或POST提交。 $ _REQUEST将两者结合在一起。