ホームページ  >  記事  >  php教程  >  PHP 5.4.x 安装dedecms最新版后台登陆 网页一片空白

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

WBOY
WBOYオリジナル
2016-06-06 19:49:511253ブラウズ

最新版本的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 までご連絡ください。