DedeCMS后台与会员中心会员动态管理不显示

       DedeCMS后台和会员中心都有会员动态管理功能,能把会员动态记录显示出来,但是在做一个站点的时候发现这个功能显示并不正常,而跟这个功能相似的会员心情管理就正常,但会员心情也有小BUG,解决方法参考文章《DedeCMS后台会员心情管理表情显示BUG修复》。

dede后台会员动态管理

       查了一下数据库里的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()函数。