dedecms后台无法登录用户密码都正确登陆后空白解决办法

时间: 2014-11-12 / 分类: dedecms / 浏览次数: 3,623 views / 0个评论 发表评论

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

我先找到到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();

发表评论

您的昵称 *

您的邮箱 *

您的网站