综述:
·主要有:$_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
这种情况如下:
formaction=”page2.php?n3=3n4=abc”method=”post”
inputtype=”text”name=”n1”/
inputtype=”text”name=”n2”/
inputtype=”submit”value=”提交”/
/form
则这种表单提交后,在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’]:就是当前这次请求的网页文件的物理路径
用以下方法可以查看所有项:
结果为: