从php 4.2.0版本开始中, php 指令 register_globals 的默认值为 off(在php.ini配置文件里). 这是 php 的一个主要变化。register_globals是干什么用的呢?它是php用来控制是否将egpcs (environment, get, post, cookie, server)变量是否注册为全局变量的。
例如,对于 http://www.xx.php?var=2 这里的var,在为 on 时,你只需用 $var 即可,但在 off 时,就必须用 $_get["var"] 来接收了~ 这里的 $_get 就是一个php超全局变量数组。和它性质一样的还有:
$globals
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 php 3 开始存在 $globals 数组。
$_server
变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。等同于旧数组 $http_server_vars 数组,但和 $_server 不是一个变量,因为php处理它们的方式不同,下同。虽然$http_server_varst和下面的$http_*_vars仍然可以使用,但绝不推荐您再使用$http_*_vars.
$_get
经由 http get 方法提交至脚本的变量。例如由 url、表单的get方式 产生的变量。
使用方式:$_get["xx"]; //即$xx; 下同
$_post
经由 http post 方法提交至脚本的变量。例如由 表单的post方式 产生的变量。
使用方式:$_post["xx"];
$_cookie
经由 http cookies 方法提交至脚本的变量。 例如读取cookie值的时候。
$_files
经由 http post 文件上传而提交至脚本的变量。我的另一篇文章 对文件上传处理过程的进一步说明 已经较详细地介绍它的用法,这里不再说明。
$_env
执行环境提交至脚本的变量。
$_request
经由任何用户输入机制提交至脚本的变量,包括 get,post,cookie等方式,因此该数组并不值得信任。
$_session
存放session变量的数组。
你不必用session_regisger来注册某个变量,用 $_session["xx"] 即包含有上述过程。
新闻热点
疑难解答