外界PHP變量

HTML表單(GET和POST)
當表單被提交給PHP腳本時,從該表單獲得的變量將自動的被該PHP腳本設置為可用。請參考如下示例:
 
Example 5-2. Simple form variable (簡單的表單變量)

Name:

當提交之後,PHP將建立一個變量“$name”,它將包含任何在表單中輸入在“Name”中的內容。
PHP同時也知道如何安排表單變量的上下文關系,但是僅僅限於一次。您可以,例如,將一組變量同時敘述,或者使用這個特性來重新從多重選擇輸入中獲得值:
 
Example 5-3. More complex form variables

Name:
Email:
Beer:

Warthog
Guinness

如果PHP的track_var特性被打開瞭,任何關於它的結構設置或者指示,然後經由POST或GET模式的變量提交將發覺使用全局聯合數組“$HTTP_POST_VARS”和“$HTTP_GET_VARS”是合適的。
圖形提交變量名字
當提交一個表單時,有可能使用一幅圖象來代替標準的帶標簽的提交按鈕,例如:

當用戶點擊該圖象的任何位置時,相應的表單將被使用兩個附加的變量(sub_x和sub_y)來傳送到服務器上。他們包含用戶點擊在該圖形上的相應位置信息。這將包含從瀏覽器發出的真實變量名字(甚至包含下劃線),但是PHP將會把它自動的轉化成帶下劃線的形式。
HTTP Cookies
PHP當然的支持使用Netscapes Spec定義的HTTP Cookies。Cookies是一種在遠程瀏覽器上存放數據的裝置,用於跟蹤和鑒定用戶的身份。您可以使用SetCookie()函數來對cookies進行設置。Cookies是HTTP頭的一部分,所以SetCookie程序必須在被進行向瀏覽器輸出前被調用。這和Header()函數的設置是類似的。任何從服務器送到用戶處的cookies將自動的被轉化成為一個PHP變量,就象使用GET和POST模式的數據一樣。
如果您希望對單個的cookie分派多值,隻要在cookie的名字後面簡單的加上一個“[ ]”即可。例如:
SetCookie ("MyCookie[]", "Testing", time()+3600);
註意,如果不是在您的瀏覽器上的域或者路徑不一樣的話cookie將會使用相同的名字來頂替先前的一個cookie。所以,對於購物單應用程序,您可能希望保持一個計數器同時通過cookie來傳送它,例如:
 
Example 5-4. SetCookie Example (設置Cookie的例子)
$Count++;
SetCookie ("Count", $Count, time()+3600);
SetCookie ("Cart[$Count]", $item, time()+3600);
 
環境變量
PHP自動的使用環境變量作為PHP的普通變量,例子如下。
echo $HOME; /* Shows the HOME environment variable, if set. */
既然信息隨同GET,Post,Cookie等機制被傳遞進來,並且自動創建瞭PHP變量,有時最好是準確的從外界環境中讀出一個變量以確信你正在使用正確的版本。getenv()函數就是做這個工作的,你也可以使用putenv()函數來設置一個環境變量。

發佈留言