解决Dedecmsv5.7 SP1广告不能显示的问题

 最近把小站更新到v5.7 SP1版本,结果发现谷歌联盟和百度联盟的广告都不能显示。对比了一下之前版本的首页源码,发现更新后的系统中,广告代码双引号前均多了一个反斜杠。在网上搜了一下,没有找到解决方法,只好自己排查,终于发现了问题所在。我在这里把解决方法分享出来,让各位站长少走些弯路。

  找到ad_add.php文件第30行,把这段代码:

if($normbody['style']=='code')
{
$normbody = addslashes($normbody['htmlcode']);
}

  改成如下代码:

if($normbody['style']=='code')
{
$normbody = $normbody['htmlcode'];
}

  注:addslashes函数会在指定的预定义字符前添加反斜杠,主要是对一些特殊字符进行转义。

  修改完后保存,然后上传到服务器,再添加的广告就能正常显示了。

  因为反斜杠是在广告代码插入到数据库之前添加的,所以数据库中之前添加的广告代码不会变(反斜杠依然存在)。只要把之前添加的广告都删除,然后重新添加就可以了。当然,你也可以直接在数据库中手工把每个广告的反斜杠都去掉。

下载提示 ①本站所有CMS源码、杰奇CMS模板、PTCMS源码模板、YGBOOK源码模板、帝国CMS源码模板等仅用于学习和交流,勿用于商业。
②本站资源有安装及使用文档,安装使用请自行探索,如您对购买的程序或是模板无法胜任安装工作,请点击付费安装。
③本站资源来源网络或者用户投稿,切勿私自传播于网络,否则将追究法律责任。且仅供学习交流之用,如有侵权请联系删除。
④如果资源失效或下载链接错误请联系站长。