dede登陆后台页面空白,dede注销页面空白的解决方案

每个人与每个人的情况不同,解决方法不同。本例只说明我遇到的情况,不是万能的方法

DEDECMS 5.7 UTF-8

PHP5.4.7版本

修改文件include/userlogin.class.php

搜索function exitUser(),将下面的5行session_unregister替换成2行session_unset();session_destroy();

示例

    function exitUser()
    {
        ClearMyAddon();
        session_unset();
        session_destroy();
        DropCookie('dedeAdmindir');
        DropCookie('DedeUserID');
        DropCookie('DedeLoginTime');
        $_SESSION = array();
    }

 

 

搜索function keepUser(),将下面的@session_register……注释掉即可,6处

示例

if($this->userID != '' && $this->userType != '')
        {
            global $admincachefile,$adminstyle;
            if(empty($adminstyle)) $adminstyle = 'dedecms';

            //@session_register($this->keepUserIDTag);
            $_SESSION[$this->keepUserIDTag] = $this->userID;

            //@session_register($this->keepUserTypeTag);
            $_SESSION[$this->keepUserTypeTag] = $this->userType;

            //@session_register($this->keepUserChannelTag);
            $_SESSION[$this->keepUserChannelTag] = $this->userChannel;

            //@session_register($this->keepUserNameTag);
            $_SESSION[$this->keepUserNameTag] = $this->userName;

            //@session_register($this->keepUserPurviewTag);
            $_SESSION[$this->keepUserPurviewTag] = $this->userPurview;

            //@session_register($this->keepAdminStyleTag);
            $_SESSION[$this->keepAdminStyleTag] = $adminstyle;

            PutCookie('DedeUserID', $this->userID, 3600 * 24, '/');
            PutCookie('DedeLoginTime', time(), 3600 * 24, '/');
            
            $this->ReWriteAdminChannel();
            
            return 1;
        }

 

说明,php5.4早就已经抛弃session_register和session_unregister这2个函数了,所以会出错。

session_unset()  不带参数,释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id,没有返回值。

session_destroy()  不带参数,删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留,成功返回true。

session_unregister()  带参数,注销一个指定session变量,成功返回true。

所以,释放用户的session所有资源,需要顺序执行如下代码:

<?php
  session_unset();
  session_destroy();
?>

 

 

php5可以不用声明session就可以使用,所以注销掉session的声明

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值