最近因为另一个网站经常有用户反馈评论后还是没法下载,我就优化了一下下载插件,原本的是通过浏览器cookie来判断用户是否已经评论,有些浏览器不支持保存所以导致判断不正确,今天改成通过数据库判断,首先需要获取用户UID和文章id然后读取文章id内的所有评论查找是否存在当前UID进行判断。
首先要先知道EMLOG的全局函数,UID
为用户id,logid
为当前文章id,评论数据库表名emlog_comment
。
下面是完整代码:
<?phpif (UID) { $r = Database::getInstance(); $row = $r->once_fetch_array("SELECT * FROM ".DB_NAME.".".DB_PREFIX."comment WHERE uid = '".UID."' and gid = '".$logid."' ORDER BY date DESC"); if ($row && (time() - $row['date']) <= 3600 * 24 && $row['hide'] == 'n') { echo '用户有评论'; }else{ echo '用户未评论'; }}?>