php供提供了九種預定義超全域性變數:
$_get、$_post、$_request、$_server、$_env、$_file、 $_cookie、$_session、 $globals。在這裡,我們介紹其中的六種。
1.$_get
原理圖:
示例:
test.php頁面
a.php頁面<?php
//urlencode編碼
echo "傳送資料";
?>
";<?php
echo "";
echo print_r($_get);
echo "
//如果希望指定取出某個資料,則可以通過下標名
echo $_get['name'];
?>
$_get也可以接收表單以get方式提交資料。
register2.php
post 提交 和get 提交的區別:<?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;
③ 儲存到收藏夾,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...