综述:
· 主要有:$_GET, $_POST, $_REQUEST, $_SERVER, $GLOBALS(注意区分大小写)
· 他们均是数组
· 系统定义与维护
· 具有超全局作用域
· 不同情形下可能具有不同的值
$_POST变量
代表网页中通过表单并以post方式提交过来的数据!
也可以说:$_POST变量中存储了以post方式提交过来的所有数据!
是一个数组,该数组的每一个单元的下标,就是对应form表单中的名字(name值)
表单页面代码:
php页面代码和运行结果:
$_REQUEST变量
request, 请求
则:
$_REQUEST代表网页中 以get方式或post方式 提交过来的数据!
即:
它是post数据和get数据的“合集”——包括了每一次请求的这两种数据。
$v1 = $_REQUEST[‘n1’]; //n1可能是get数据,也可能是post数据!
说明:
1,通常,各种请求中,要么是get数据,要么是post数据,此时都可以只用$_REQUEST,
2,偶尔,有时候,会存在2个数据数据同时提交。此时,也会将两种数据都放入$_REQUEST
这种情况如下:
则这种表单提交后,在page2.php页面中,n1,n2就属于post数据, n3,n4就属于get数据
$_GET变量类似这样:array( ‘n3’=>’3’, ‘n4’=>’abc’ )
$_POST变量类似这样:array( ‘n1’=>’11’, ‘n2’=>’22’ )
$_REQUEST变量类似这样:array( ‘n3’=>’3’, ‘n4’=>’abc’, ‘n1’=>’11’, ‘n2’=>’22’ )
通常,$_REQUEST中的数据,是先放入get数据,然后再放入post数据!
当然,其实我们也可以在php.ini中来改变这一情况:
$_SERVER变量
该变量里面“自动”存储了每一次请求的时候,服务器端和浏览器端的一些“有用信息”。
——其实就是有些信息可以拿来用,爱用不用!
大约有20多个,常用的就3-5个,比如:
$_SERVER[‘REMOTE_ADDR’] :浏览器端的IP地址
$_SERVER[‘SERVER_ADDR’] :服务器端的IP地址
$_SERVER[‘SERVER_NAME’] :就是apache中虚拟主机设定中的servername的值(服务器名)
$_SERVER[‘DOCUMENT_ROOT’] :就是apache中虚拟主机设定中的DocumentRoot的值(站点物理路径)
$_SERVER[‘PHP_SELF’] : 就是当前这次请求的网页地址(域名之后的部分)
$_SERVER[‘SCRIPT_NAME’] : 就是当前这次请求的网页地址(域名之后的部分)
$_SERVER[‘SCRIPT_FILENAME’] : 就是当前这次请求的网页文件的物理路径
用以下方法可以查看所有项:
结果为: