当前位置:首页 > 技术文章 > dedecms > DEDECMS5.7安装后登陆之后白屏退出白屏
DEDECMS5.7安装后登陆之后白屏退出白屏
文章来源:本站原创  浏览次数:129  发布日期:2013-02-05

DEDECMS5.7安装后登陆之后白屏退出白屏

最近项目用到了DEDECMS的系统。从官网上下了个最新版的安装包5.7的。安装好之后,登录系统后台,登录之后白屏,一头雾水,那么大名鼎鼎的DEDE也会有错?我以为是最近PHP.INI的配置有问题,没开错误提示,看了一下也没有问题呢。后来找了几个小时,终于发现了它的代码问题,因为我用的PHP是最新版的,也就是5.4的。

找到include文件下的 userlogin.class.php 文件,把@session_register 注释掉,不需要再声明了,因为5.4里已经没有了,由于在函数前面加了@这个符号,导致出错也没提示信息了,让人很蛋疼的地方。

  function keepUser()

   {

      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;

      }

      else

      {

          return -1;

       }

}

登录搞定了,但是在退出的时候又出现了白屏的问题,再看它的退出函数,也是一样的原因。修改代码如下:

  function exitUser()

   {

      ClearMyAddon();

             unset($_SESSION[$this->keepUserIDTag]);

             unset($_SESSION[$this->keepUserTypeTag]);

             unset($_SESSION[$this->keepUserChannelTag]);

             unset($_SESSION[$this->keepUserNameTag]);

             unset($_SESSION[$this->keepUserPurviewTag]);

      //@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();

}

看来不管是什么系统,名气有多大。也不能太信任了,还是会有各种各样的问题的,因为这也是人写的代码。


原文来自:DEDECMS5.7安装后登陆之后白屏退出白屏 http://www.redyun.net/technology/18.html

红云案例Case