>php教程 >php手册 >PHP 5.4.x 安装dedecms最新版后台登陆 网页一片空白

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

WBOY
WBOY원래의
2016-06-06 19:49:511262검색

最新版本的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();
    }





성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.