欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP超级全局变量

程序员文章站 2022-04-08 23:53:15
超级全局变量有9个特点是全局可用!页面到处都能访问到这个变量 $_GET获得的是浏览器地址栏过来的数据,或者表单GET方式提交的数据 $_POST获得的是表单POST方式提交的数据 $_REQUEST默认情况(具体情况要看php.ini的配置)获得的是既包含POST过来的值,也包含GET方式获得的值 ......

超级全局变量有9个
特点是全局可用!
页面到处都能访问到这个变量

PHP超级全局变量

 

$_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 ?>

  

PHP超级全局变量

最终的结果,可以看到,$_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超级全局变量

如下,找到php配置文件,搜索 request_order 

PHP超级全局变量

修改为pg,保存,重启apache,实验一下,就相反了,不细说。

 

$_env

打印一下$_env,print_r($_env); 看看出来的是什么?

发现,没有反应!空白。原来,考虑到信息安全问题,php的配置文件php.ini中,variables_order控制着$_env的显示

PHP超级全局变量

$_env里面是操作系统呀什么的这些信息

PHP超级全局变量

 

$_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] => admin@phpstudy.net
    [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);

 

PHP超级全局变量

PHP超级全局变量