原由:
迁移换空间,经过数据库还原,生成,看起来一切正常,实际看首页的源码(习惯这样检查问题 ),发现网站名、关键字、描述信息都是空的,后台的基本参数一看,全是空的,以前明明都有的。
现象
1、dedecms后台基本参数是空的,至少后台看起来是空的;
2、尝试填写,中文,保存后生成;更新主页后,前端有效,会看到配置过的网站名和关键字等,但是后台还是空白的;//查看数据库中,有记录,只是前台不显示;如果再次在后台页面保存,数据库也会变成空的;
3、网站有人说是中文的原因,那么填入英文,更新主页后,结果确实前台有效,后台也显示;
5、友情管理不显示;
……
好多系统相关的是中文就不显示;
中文关键字,英文描述的数据库效果:英文有,中文没有存下来。
这是填入中文后保存时,数据库中的效果,只是后台空白不显示,如果在后台再保存一下的话,数据库里就没有了。
解决,都是网络上操作方法
1、尝试配置网站的目录权限
sudo find /home/wwwroot/jiepaimm.com -type d -exec chmod 755 {} \;
sudo find /home/wwwroot/jiepaimm.com -type f -exec chmod 644 {} \;
结果没卵用;
2、还原数据库时,不要选择任何附加选项,据说会破坏表结构;(其实搞这个之前,应该先去看一下数据库的,如果数据里都没有,也是白折腾)
3、到这里很烦了。那么我们分析一下:
存英文数据库中有,后台是空,那就是仅仅是显示问题了。应该和权限没关系,问题肯定出在代码上;所以找几个改密码的文章。
注意:如果页面是GBK编码的,一定要用支持GBK的编辑器来操作,我第一次用subline,保存成了UTF8编码。。。。。
针对后台基本参数显示空白的:
dede\templets\sys_info.htm里面搜索
<input type='text' name='edit___{$row['varname']}' id='edit___{$row['varname']}' value=\"".htmlspecialchars($row['value'])."\" style='width:80%'>{$addstr}";
把
htmlspecialchars($row['value'])
替换成
htmlspecialchars($row['value'],ENT_COMPAT ,'GB2312′)
这样测试后,发现基本参数整个页面都空白了。失败;
另一个是说htmlspecialchars函数有问题 ,直接删除掉,变成:
<input type='text' name='edit___{$row['varname']}' id='edit___{$row['varname']}' value=\"".($row['value'])."\" style='width:80%'>{$addstr}";
结果发现就好啦~~~~~
这样,我们就继续把另外几个地方都这样改一下即可
tag:
修改的文件:/dede/templets/tags_main.htm
/dede/templets/friendlink_main.htm
附:
评论