login.php织梦进不去,dedecms后台无法登录用户密码都正确登陆后空白解决办法

本文探讨了在使用DEDECMS遇到的登录问题,发现session_register函数在PHP 5.4中已被废弃。作者提供了自定义session_register的替代方案,并解决了登录和退出问题,涉及到了session管理和前后台登录的底层技术调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面显示正常,用户名和密码输入没有问题,结果显示一片空白,根本无法进入后台,于是我开始查找问题所在。

我先找到到dede下的login.php,经过我各种断点之后,发现是79行的:

$cuserLogin->keepUser();

有问题,$cuserLogin是userLogin类的对象,userLogin类的位置在dedecms的include中的userlogin.class.php,在290行左右有一句:

@session_register($this->keepUserIDTag);

我去掉了代码前面的@,程序的报错终于出来了,我到php的手册里查了下session_register这个方法,里面写着大大的Warning:

Warning

本函数已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。

好了!原来如此!我的php正好是5.4,这可如何是好啊?要不我重写一个session_register方法吧!

function session_register(){

$args = func_get_args();

foreach ($args as $key){

$_SESSION[$key]=$GLOBALS[$key];

}

}

将这段代码写入userlogin.class.php中,dedecms的后台就成功登录进去了

但是退出还是有问题~所以还是把上面的函数修改为

function fix_session_register(){

function session_register(){

$args = func_get_args();

foreach ($args as $key){

$_SESSION[$key]=$GLOBALS[$key];

}

}

function session_is_registered($key){

return isset($_SESSION[$key]);

}

function session_unregister($key){

unset($_SESSION[$key]);

}

}

if (!function_exists('session_register'))

fix_session_register();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值