2011-04-29 77 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將兩者結合在一起。