ColdFusion 8中的过滤器系统

问题描述

我一直在localhost上为客户开发一个简单的小项目,它是一个带有过滤器的注释系统。

但是,每当我尝试添加过滤器时,它似乎都会卡在它的第一个单词上。在发布到这里之前,我一直试图在Google上搜索答案将近8个小时。

这是一个简单的查询,没有复杂的事情。但是有人有什么建议吗?我尝试了#cfloopcfoutputcfquery等,但似乎无济于事。

<cfquery name = "communityFilter" datasource = "#DSN#">
SELECT *
FROM cms_filter
</cfquery>


<!-- Query van de filter -->
<cfif form.comment CONTAINS communityFilter.word>
    Word gevonden!
<cfelseif NOT form.comment CONTAINS communityFilter.word>
    Geen word gevonden,system werkt =)
</cfif>

系统需要从数据库删除不允许的单词,但它会一直说找到了Word,但找不到它。

解决方法

当引用查询结果时,应指定行号,如下所示:

queryname.fieldname[rownumber]

如果没有,则从第一行获取值。那就是你正在发生的事情。尽管注释中可能包含一个坏词,但您并没有查看所有可用的坏词。我建议像这样。

commentHasBadWord = false;
for (badWord in ValueList(cms_filter.word)) {
if (commentHasBadWord == false && form.comment contains badWord)
commentHasBadWord = true;
else
break;
}

if commentHasBadWord == true;
//code for bad comment
else 
// code for good comment