[php]view plaincopy
... $cuserlogin = new userlogin($admindir); if(!empty($userid) && !empty($pwd)) { $res = $cuserlogin->checkuser($userid,$pwd); //success if($res==1) { $cuserlogin->keepuser();//此处以下无输出 if(!empty($gotopage)) { showmsg('成功登录,正在转向管理管理主页!',$gotopage); exit(); } else { showmsg('成功登录,正在转向管理管理主页!',index.php); exit(); } echo ok; } ...
到封装userlogin类所在的脚本userlogin.class.php中查看(路径./include/),所用的keepuser()方法代码如下:userlogin.class.php
[php]view plaincopy
... 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; } }
把@去掉,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
... //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; ...
修改后就正常显示了。我是从织梦主页上下载的最新版本,很奇怪难道没有人遇到同样的问题吗。这种问题既然这里能出现,别的部分就无法保证不会有更多这样的隐患存在了。 以上就介绍了dedecms后台,页面无显示 ,后台页面空白,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
