以session_register[name]的方式注册session值出现以下错误:
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
大致的意思为:
这是php4.3.0以后才有的安全设置。
出于安全的考虑php不建议你打开register_globals开关
但若关闭了register_globals(默认)时,session变量将不被自动转换成全局变量
此时传统的session变量注册方式session_register就失去意义了(session_register是把一个全局变量注册成session变量),因为访问session变量需要使用$_SESSION数组。
因此只需直接操作$_SESSION数组就可以了,而无须再用session_register注册了。以免产生混乱
开关session.bug_compat_42 和 session.bug_compat_warn 就是为了检查此类情况而设置的
那么在register_globals关闭的情况下,以如下方法注册session变量。
session_start();
$_SESSION[name] = "var";
?>[@more@]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/652486/viewspace-896277/
,如需转载,请注明出处,否则将追究法律责任。