超全局变量
$GLOBALS
这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。PHP 在名为 $ GLOBALS的数组中存储了所有全局变量。变量的名字就是数组的键。
因为定义在函数体外部的所谓全局变量,函数内部是不能直接获得的。如果要在函数体内访问外部定义的全局变量,可以通过global声明或者直接使用$GLOBALS来进行访问。
格式: $GLOBALS[‘变量名’]
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
$_SERVER
$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。
具体可看php手册
$_REQUEST
$_REQUEST = $GET+ $POST 用于收集 HTML 表单提交的数据。
会话技术
Web应用需要一种可以保持前面信息(之前的对话)的技术,这就是会话技术。客户端和服务器端每次的交流都可以被追踪,类似于电话里两人的交流,可以记住前面所说的话。
什么是 Cookie?
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
在Web应用中,Cookie的功能就类似于会员卡,第一次请求时,会创建一个Cookie,当用户再次访问服务器时,就会携带上Cookie(会员卡),服务端也会根据处理结果,将一些信息放到Cookie中,以保存在客户端。
cookie的设置setcookie
语法
setcookie(name, value, expire, path, domain);
name:cookie名称
value:cookie值,储存于用户的电脑里
expire:过期时间
path:cookie的有效服务器路径
domain:cookie的有效域名/子域名
第一次设置cookie时当前页面时无法显示的
例题:用cookie访问计数器
什么是session
客户端请求服务端,服务端会为这次请求开辟一块内存空间,这个对象便是 Session 对象,存储结构为 ConcurrentHashMap。Session 弥补了 HTTP 无状态特性,服务器可以利用 Session 存储客户端在同一个会话期间的一些操作记录。
也就是说cookie是保存在客户端的,session是保存在服务器端的
session必须依靠cookie实现