PHP 九種預定義超全域性變數

2021-07-07 04:30:41 字數 2868 閱讀 9250

php供提供了九種預定義超全域性變數

$_get、$_post、$_request、$_server、$_env、$_file、 $_cookie、$_session、 $globals。在這裡,我們介紹其中的六種。

1.$_get

原理圖:

示例:

test.php頁面

<?php 

//urlencode編碼

echo "傳送資料";

?>

a.php頁面
<?php 

echo "";

echo print_r($_get);

echo "

";

//如果希望指定取出某個資料,則可以通過下標名

echo $_get['name'];

?>

$_get也可以接收表單以get方式提交資料。

register2.php

<?php 

$name= $_post['username'];

$pwd= $_post['password'];

$***= $_post['***'];

$hobby= $_post['hobby'];

echo"個人資訊如下:

"; echo"姓名:".$name."

"; echo"密碼:".$pwd."

"; echo"性別:".$***."

"; echo"興趣愛好:";

foreach($hobbyas $key=>$value)

echo$value."、";

echo"

"; echo"個人介紹:".$_post['introduce'];

?>

post 提交 和get 提交的區別:

①   安全性,post高與get;

②   資料傳輸大小,受限於瀏覽器,post高於get;

③   儲存到收藏夾,get提交可以將資料儲存到收藏夾,超連結預設是

get提交。

3.$_request

描述:$_request中可以包括$_get/$_post/$_cookie陣列,所以我們可以理解為$_request包含了這些陣列的資訊。

示例:

<?php 

echo"";

echoprint_r($_request);

echo"

";

//如何取出某個值

//$_request既可以接收get請求的資料,也可以接收post請求的資料,以及cookie

//所以這個變數,比較不可以信,不建議使用$_get/$_post

echo$_request['aa'];

?>注意事項:

①    不要經常使用$_request;

②    如果不確定是get/post請求時,可以這樣     

if($_server['http_method']=="post")elseif($_server['http_method']=="get")
4.$_server描述:$_server中主要包含了http請求行和訊息頭的資訊,同時還有伺服器自己的一些資訊,比如document_root,script_filename等。

示例:

①    請求獲取該頁面的客戶機的ip位址。

$_server['remote_addr']

②    顯示伺服器端apache的版本號和php版本號。

$_server['software']

③    根據$_server的request_method來決定使用_get還是_post方法接收資料。

④    利用$_server 的http_referer 來防止盜鏈行為。

5.$_env

描述:環境變數。當我們希望獲取伺服器端的環境資訊時,可以使用 $_env。在php5.3.5中,預設情況下不能使用$_env,你會得到空值,這是出於對安全的考慮。如果希望使用$_env,可以通過修改php.ini的variables_order ="egpcs"(egpcs是environment、get、post、cookies、server的縮寫)實現。但是在開發環境,我們不建議這樣配置。

6.$globals

描述:包含了全部變數的全域性組合陣列。變數的名字就是陣列的鍵。同時乙個自定義的全域性變數,也會自動的被

$globals

管理。示例:

<?php 

$a=900;

echo "";

print_r($globals);

echo "

";

?>

PHP 預定義超全域性變數

全域性變數,指變數在整個指令碼的作用範圍內,叫全域性是因為該變數在整個作用域。作用域是指程式執行時,程序沒有結束或死掉。php發給apache apache會根據這個請求,建立乙個程序為這個請求服務,這個程序就是乙個作用域。超全域性變數,指在全域性變數的基礎上,無需宣告,直接使用。可以自己往超全域性...

PHP 預定義變數,PHP 超全域性變數

php 提供了大量的預定義變數。由於許多變數依賴於執行的伺服器的版本和設定,及其它因素,所以並沒有詳細的說明文件。一些預定義變數在 php 以命令列形式執行時並不生效。有關這些變數的詳細列表,請參閱預定義變數一章。注意 php 4.2.0 以及後續版本中,php 指令 register global...

php 全域性變數 預定義變數

1 globals 引用全域性作用域中可用的全部變數 2 server server addr 返回執行指令碼所在伺服器的ip位址 3 server server name 返回執行指令碼所在伺服器的主機名稱 4 server server port 返回執行指令碼所在伺服器使用的埠號 5 serv...