Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ColdFusion 8中的过滤系统_Coldfusion_Coldfusion 8_Cfquery - Fatal编程技术网

ColdFusion 8中的过滤系统

ColdFusion 8中的过滤系统,coldfusion,coldfusion-8,cfquery,Coldfusion,Coldfusion 8,Cfquery,我一直在为一个客户端在localhost上开发一个简单的小项目,它是一个带有过滤器的注释系统 但每当我尝试添加过滤器时,它似乎会被它的第一个字卡住。在这里发布之前,我已经在谷歌上搜索了将近8个小时的答案 这是一个简单的查询,没有复杂的事情。但有人有什么建议吗?我尝试了and cfloop、cfoutput、cfquery等,但似乎没有任何效果 <cfquery name = "communityFilter" datasource = "#DSN#"

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

但每当我尝试添加过滤器时,它似乎会被它的第一个字卡住。在这里发布之前,我已经在谷歌上搜索了将近8个小时的答案

这是一个简单的查询,没有复杂的事情。但有人有什么建议吗?我尝试了and cfloop、cfoutput、cfquery等,但似乎没有任何效果

<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 found(已找到)。

当您参考查询结果时,应按如下方式指定行号:

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

要确认,您是在尝试替换form.comments中的脏话,还是仅拒绝整个条目?请记住,CONTAINS不会查找整个单词,因此您可能会得到一些误报。