DedeCMS后台,页面无显示 ,后台页面空白

WBOY
发布: 2016-07-30 13:30:17
原创
1289 人浏览过
想试试织梦的产品,下载了DedeCMS V5.7版本,在本地部署后,正确登录后台的情况下页面没有任何输出和显示(错误登录或密码错误时才有显示),也没有报错。进到脚本调试,发现问题出在登录页login.php中以下部分。login.php

[php] view plaincopy

  1. ...  
  2. $cuserLogin = new userLogin($admindir);  
  3.         if(!empty($userid) && !empty($pwd))  
  4.         {  
  5.             $res = $cuserLogin->checkUser($userid,$pwd);  
  6.             //success  
  7.             if($res==1)  
  8.             {  
  9.                 $cuserLogin->keepUser();//此处以下无输出  
  10.                 if(!empty($gotopage))  
  11.                 {  
  12.                     ShowMsg('成功登录,正在转向管理管理主页!',$gotopage);  
  13.                     exit();  
  14.                 }  
  15.                 else  
  16.                 {  
  17.                     ShowMsg('成功登录,正在转向管理管理主页!',"index.php");  
  18.                     exit();  
  19.                 }  
  20.                 echo "ok";  
  21.             }  
  22. ...  

DedeCMS后台,页面无显示 ,后台页面空白到封装userLogin类所在的脚本userlogin.class.php中查看(路径./include/),所用的keepUser()方法代码如下:userlogin.class.php

[php] view plaincopy

  1. ...  
  2. function keepUser()  
  3. {  
  4.     if($this->userID != '' && $this->userType != '')  
  5.     {  
  6.         global $admincachefile,$adminstyle;  
  7.         if(empty($adminstyle)) $adminstyle = 'dedecms';  
  8.   
  9.         @session_register($this->keepUserIDTag);  
  10.         $_SESSION[$this->keepUserIDTag] = $this->userID;  
  11.   
  12.         @session_register($this->keepUserTypeTag);  
  13.         $_SESSION[$this->keepUserTypeTag] = $this->userType;  
  14.   
  15.         @session_register($this->keepUserChannelTag);  
  16.         $_SESSION[$this->keepUserChannelTag] = $this->userChannel;  
  17.   
  18.         @session_register($this->keepUserNameTag);  
  19.         $_SESSION[$this->keepUserNameTag] = $this->userName;  
  20.   
  21.         @session_register($this->keepUserPurviewTag);  
  22.         $_SESSION[$this->keepUserPurviewTag] = $this->userPurview;  
  23.   
  24.         @session_register($this->keepAdminStyleTag);  
  25.         $_SESSION[$this->keepAdminStyleTag] = $adminstyle;  
  26.   
  27.         PutCookie('DedeUserID'$this->userID, 3600 * 24, '/');  
  28.         PutCookie('DedeLoginTime', time(), 3600 * 24, '/');  
  29.   
  30.         $this->ReWriteAdminChannel();  
  31.   
  32.         return 1;  
  33.     }  
  34.     else  
  35.     {  
  36.         return -1;  
  37.     }  
  38. }  

把@去掉,session_register()报出错误:
     Call to undefined function session_register()
证实了问题来源于此。查手册的描述如下:
"版本:(PHP 4, PHP 5 "本函数已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。"查看手册session_register()在PHP5.4后来的版本中已经多余,可以省去而直接用$_SESSION['abc'] ="" ;
查看Stack Overflow关于此方法的问题。
解决方法:去掉或注释掉所有的session_register(),改用直接存$_SESSION数组。keepUser()部分

[php] view plaincopy

  1. ...  
  2. //session_register($this->keepUserIDTag);  
  3. $_SESSION[$this->keepUserIDTag] = $this->userID;  
  4.   
  5. //session_register($this->keepUserTypeTag);  
  6. $_SESSION[$this->keepUserTypeTag] = $this->userType;  
  7.   
  8. //session_register($this->keepUserChannelTag);  
  9. $_SESSION[$this->keepUserChannelTag] = $this->userChannel;  
  10.   
  11. //session_register($this->keepUserNameTag);  
  12. $_SESSION[$this->keepUserNameTag] = $this->userName;  
  13.   
  14. //session_register($this->keepUserPurviewTag);  
  15. $_SESSION[$this->keepUserPurviewTag] = $this->userPurview;  
  16.   
  17. //session_register($this->keepAdminStyleTag);  
  18. $_SESSION[$this->keepAdminStyleTag] = $adminstyle;  
  19. ...  

修改后就正常显示了。我是从织梦主页上下载的"最新"版本,很奇怪难道没有人遇到同样的问题吗。这种问题既然这里能出现,别的部分就无法保证不会有更多这样的隐患存在了。

以上就介绍了DedeCMS后台,页面无显示 ,后台页面空白,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板