熟悉PHP中的超全局变量
使用$_GET和$_POST进行数据交互
案例: 计算器 考试系统
超全局变量是系统内置变量,无需手动创建
超全局变量在脚本的全部作用域中都可用
超全局变量都是数组
$_GET:
通过url传递给当前脚本的变量;
$_POST:
通过HTTP POST 方法传递给当前脚本的变量;
我们一般使用$_GET和$POST来接收用户提交的数据;
$_CO0KIE:
通过http cookies方式传递给当前脚本的变量;存在用户电脑上的
$_SESSION:
当前脚本可用的session变量的数组,存在服务器上面的。
$_FILES:
通过HTTP POST 方式上传到当前脚本的文件信息;用来做文件上传使用的
$_CO0KIE和$_SESSION用来追踪用户信息,
$_SERVER
变量由Web服务器设定或者直接与当前脚本的执行环境相关联
$_ENV
执行环境提交至脚本的变量
$_REQUEST(里面的信息比较杂乱,而且安全性比较低)
由于 $_REQUEST 中的变量通过 GET,POST 和 COOKIE 输入机制传递给脚本文件,因此可以被远程用户篡改而并不可信。 $GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。
$_SERVER
这种超全局变量保存关于报头、路径和脚本位置的信息。
$_SERVER['PHP_SELF']
当前正在执行脚本的文件名,与 document root相关
$_SERVER['SERVER_NAME']
当前运行脚本所在服务器主机的名称。
$_SERVER['DOCUMENT_ROOT']
当前运行脚本所在的文档根目录。
$_SERVER['HTTP_REFERER']
链接到当前页面的前一页面的 URL 地址。
$_SERVER['REMOTE_ADDR']
正在浏览当前页面用户的 IP 地址。可以用来验证ip,验证访问频率。
$_SERVER['REMOTE_HOST']
正在浏览当前页面用户的主机名。
$_SERVER['REMOTE_PORT']
用户连接到服务器时所使用的端口。
$_SERVER['SCRIPT_FILENAME']
当前执行脚本的绝对路径名。
$_SERVER['SERVER_PORT']
服务器所使用的端口
$_SERVER['SCRIPT_NAME']
包含当前脚本的路径。在页面需要指向自己时很有用。
$_SERVER['REQUEST_URI']
访问此页面所需的 URI。例如,“/index.html”。分层时会用到!!!
案例:
所有的全局变量都不需要定义,直接使用就可以!
<?php
echo "<pre>";//网站上线时不可以有这句话。
print_r($_SERVER );
?>
$_ENV
$_ENV数组中的内容是在PHP解析器运行时,从PHP所在服务器中的环境变量转变为 PHP全局变量的。它们中的许多都是由PHP所运行的系统决定。
$_FILES
在使用表单文件输入框(type=“file”)上传文件时,必须使用POST提交。
但在服务器文件中,并不能通过$_POST超级全局数组获取到表单中file上传框的内容,而$_FILES超级全局数组是表单通过POST方法传递的已上传文件项目组成的数组,$_FILES是一个二维数组,包含5个子数组。
做文件上传时,表单必须用post,不可以用get。
$_COOKIE
$_COOKIE 超全局数组是经 HTTP Cookies 方法提交至脚本的变量。
这些 Cookies 是由以前执行的PHP脚本通过setCookie()函数设置到客户端浏览器中的,当PHP脚本从客户浏览器提取了一个 cookie 后,他将自动把它转换成一个变量,可以通过 $_COOKIE 和 cookie名 来存取指定的cookie值。
不同网站有不同的cookie。
cookie是有时效的,可以设置存多久。
$_SESSION
会话控制是在服务器端使用session追踪用户。当服务器页面中使用session_start()函数开启session后,就可以使用$_SESSION数组注册全局变量。
要在页面使用函数,首先要在页面最前面启用session_start()函数。
$_SESSION
$GLOBALS
$GLOBALS是有所有已定义的全局变量组成的数组,变量名就是该数组的索引。在所有的脚本中都有效,在函数和对象的方法中不需要使用global关键字访问它。
<?php
$a=1;
function fun(){
echo($GLOBALS["a"]);
}
fun();
?>
--------------------------------
<?php
$a=1;
function fun(){
print_r($GOLBALS);
}
fun();
?>
可以输出全部的全局变量,和页面中的变量,不包含函数中的变量。不推荐使用全局变量,容易和外部的混淆。
宠物免费领养小程序,欢迎来踩