为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复session_register()已弃用的问题?

如何修复session_register()已弃用的问题?

PHP
动漫人物 2019-08-09 10:04:50
如何修复session_register()已弃用的问题?如何修复session_register()PHP 5.3中已弃用的问题
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

不要使用它。描述说:

使用当前会话注册一个或多个全局变量。

我想到了两件事:

  1. 无论如何,使用全局变量并不好,找到一种方法来避免它们。

  2. 您仍然可以使用设置变量$_SESSION['var'] = "value"

另请参阅手册中的警告:

如果您希望脚本无论如何都可以工作register_globals,则需要使用该$_SESSION数组,因为$_SESSION条目会自动注册。如果您的脚本使用session_register(),它将无法register_globals禁用PHP指令的环境中工作。

这非常重要,因为该register_globals指令默认设置为False

进一步:

这会注册一个global变量。如果要在函数内注册会话变量,则需要确保使用global关键字或$GLOBALS[]数组使其成为全局变量,或者使用如下所述的特殊会话数组。

如果您正在使用$_SESSION(或$HTTP_SESSION_VARS),不使用session_register()session_is_registered()session_unregister()


查看完整回答
反对 回复 2019-08-09
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

使用$_SESSION直接设置变量。像这样:

$_SESSION['name'] = 'stack';

代替:

$name = 'stack';session_register("name");

在这里阅读更多


查看完整回答
反对 回复 2019-08-09
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

在PHP 5.3之前

session_register("name");

自PHP 5.3起

$_SESSION['name'] = $name;


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 840 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信