DedeCMS后台与会员中心会员动态管理不显示
DedeCMS后台和会员中心都有会员动态管理功能,能把会员动态记录显示出来,但是在做一个站点的时候发现这个功能显示并不正常,而跟这个功能相似的会员心情管理就正常,但会员心情也有小BUG,解决方法参考文章《DedeCMS后台会员心情管理表情显示BUG修复》。
查了一下数据库里的dede_member_feed表,里面没有插入相关内容,后台当然调不出数据,解决方法:
找到/include/memberlogin.class.php,找到
//内容发布处理 $arcrul = " <a href='/plus/view.php?aid=".$aid."'>".$title."</a>"; $title = dede_htmlspecialchars($rcdtype[$type].$arcrul, ENT_QUOTES);
第二行的处理函数应该是htmlspecialchars不知道为什么写成了dede_htmlspecialchars修改为
$title = htmlspecialchars($rcdtype[$type].$arcrul, ENT_QUOTES);
同样的找到
//添加好友处理 $arcrul = " <a href='/member/index.php?uid=".$aid."'>".$aid."</a>"; $title = dede_htmlspecialchars(' 与'. $arcrul."成为好友", ENT_QUOTES);
第二个行修改为
$title = htmlspecialchars(' 与'. $arcrul."成为好友", ENT_QUOTES);
这样是不是在前台或者后台都能看到数据了,网上有处理方法,但是去掉了链接,本文修改方法更佳。
普及一下htmlspecialchars()函数
htmlspecialchars()函数把预定义的字符转换为html实体,预定义的字符是
& (和号)成为 & " (双引号)成为 " ' (单引号)成为 ' < (小于)成为 < > (大于)成为 >
把特殊字符的html实体转换为字符,使用htmlspecialchars_decode()函数。