欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP 5.4.x 安装dedecms最新版后台登陆 网页一片空白

程序员文章站 2022-06-03 22:14:09
...

最新版本的PHP 5.4.x的环境安装了dedecms v57 sp1 UTF-8,结果后台登陆提交了用户名和密码之后,居然一片空白。 仔细跟代码,才发现是两个地方导致的 因为PHP新版本的几个函数不存在了。 session_register session_unregister 文件/include/userlogin.class.p

最新版本的PHP 5.4.x的环境安装了dedecms v57 sp1 UTF-8,结果后台登陆提交了用户名和密码之后,居然一片空白。

仔细跟代码,才发现是两个地方导致的 因为PHP新版本的几个函数不存在了。


session_register
session_unregister


文件/include/userlogin.class.php



    /**
     *  保持用户的会话状态
     *
     * @access    public
     * @return    int    成功返回 1 ,失败返回 -1
     */
    function keepUser()
    {
        if($this->userID != '' && $this->userType != '')
        {
            global $admincachefile,$adminstyle;
            if(empty($adminstyle)) $adminstyle = 'dedecms';

            
            if(function_exists("session_register")) $session_register = true;
            
            if($session_register) @session_register($this->keepUserIDTag);
            $_SESSION[$this->keepUserIDTag] = $this->userID;

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

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

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

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

            if($session_register) @session_register($this->keepAdminStyleTag);
            $_SESSION[$this->keepAdminStyleTag] = $adminstyle;
                        
            PutCookie('DedeUserID', $this->userID, 3600 * 24, '/');
            PutCookie('DedeLoginTime', time(), 3600 * 24, '/');
            
            $this->ReWriteAdminChannel();
            
            return 1;
        }
        else
        {
            return -1;
        }
    }


    //
    /**
     *  结束用户的会话状态
     *
     * @access    public
     * @return    void
     */
    function exitUser()
    {
        ClearMyAddon();
        if(function_exists("session_unregister"))
        {
          @session_unregister($this->keepUserIDTag);
          @session_unregister($this->keepUserTypeTag);
          @session_unregister($this->keepUserChannelTag);
          @session_unregister($this->keepUserNameTag);
          @session_unregister($this->keepUserPurviewTag);
        }
        DropCookie('dedeAdmindir');
        DropCookie('DedeUserID');
        DropCookie('DedeLoginTime');
        $_SESSION = array();
    }