超級全局變數有9個特點是全局可用!頁面到處都能訪問到這個變數 $_GET獲得的是瀏覽器地址欄過來的數據,或者表單GET方式提交的數據 $_POST獲得的是表單POST方式提交的數據 $_REQUEST預設情況(具體情況要看php.ini的配置)獲得的是既包含POST過來的值,也包含GET方式獲得的值 ...
超級全局變數有9個
特點是全局可用!
頁面到處都能訪問到這個變數
$_GET獲得的是瀏覽器地址欄過來的數據,或者表單GET方式提交的數據
$_POST獲得的是表單POST方式提交的數據
$_REQUEST預設情況(具體情況要看php.ini的配置)獲得的是既包含POST過來的值,也包含GET方式獲得的值
如下例子:2222.html上有個表單,提交給2222.php這個文件
<html> <head> <title>實驗GET_POST的區別</title> <meta charset="UTF-8"/> </head> <body> <!--本文件2222.html提交數據--> <form action="2222.php?id=5678" method="post"> <input type="text" name="username" value="" /> <input type="submit" value="提交"/> </form> </body> </html>
1 <?php 2 header("Content-type:text/html;charset=UTF-8"); 3 echo '<pre>'; 4 5 //2222.php 接收數據並顯示出來 6 print_r($_GET); 7 print_r($_POST); 8 print_r($_REQUEST); 9 10 echo '<pre>'; 11 ?>
最終的結果,可以看到,$_REQUEST這個數組是$_GET和$_POST合併起來的
如果讓get和post中有重名的呢?
修改2222.html中<form action="2222.php?id=5678" method="post">這句,改為<form action="2222.php?id=5678&username=李四" method="post">
再提交會發生什麼呢?
如下,找到php配置文件,搜索 request_order
修改為PG,保存,重啟apache,實驗一下,就相反了,不細說。
$_ENV
列印一下$_ENV,print_r($_ENV); 看看出來的是什麼?
發現,沒有反應!空白。原來,考慮到信息安全問題,php的配置文件php.ini中,variables_order控制著$_ENV的顯示
$_ENV裡面是操作系統呀什麼的這些信息
$_SERVER 列印出來如下:
Array ( [HTTP_HOST] => localhost [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_CONNECTION] => keep-alive [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [HTTP_CACHE_CONTROL] => max-age=0 [PATH] => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd; [SystemRoot] => C:\Windows [COMSPEC] => C:\Windows\system32\cmd.exe [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC [WINDIR] => C:\Windows [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45 [SERVER_NAME] => localhost [SERVER_ADDR] => ::1 [SERVER_PORT] => 80 [REMOTE_ADDR] => ::1 [DOCUMENT_ROOT] => E:/xxxx [REQUEST_SCHEME] => http [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => E:/xxxx [SERVER_ADMIN] => [email protected] [SCRIPT_FILENAME] => E:/xxxx/2222.php [REMOTE_PORT] => 2479 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /2222.php [SCRIPT_NAME] => /2222.php [PHP_SELF] => /2222.php [REQUEST_TIME_FLOAT] => 1556588895.594 [REQUEST_TIME] => 1556588895 )
$GLOBALS — 引用全局作用域中可用的全部變數
它就是個快捷方式集合,把在全局作用域中的全部變數(除了$_ENV)都放在裡面了。
$aaa = 123456; print_r($GLOBALS);