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

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

WBOY
WBOYOriginal
2016-06-06 19:49:511262Durchsuche

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





Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn