分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

PHP超级全局变量

发布时间:2023-09-21 12:36责任编辑:熊小新关键词:PHP

超级全局变量有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] => 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超级全局变量

原文地址:https://www.cnblogs.com/html55/p/10794094.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved