这个电子邮件过滤器不起作用?

时间:2015-11-29 02:47:08

标签: php html

我制作了这个过滤器来审查那些诅咒它们的电子邮件。代码如下:

foreach ($badWords as $word) {
if (strpos($msg,$word) !== false) {
   $mail=false;
   echo"Please do not curse in your messages. We are a child-friendly community.";
}
}

现在问题是,无论我输入什么消息,它都会发出'pls dont cursz'消息。

这只是一个部门,而不是整页。 $msg是消息,标题和消息的组合。

1 个答案:

答案 0 :(得分:0)

如果你在if语句中用括号括起来似乎有效。
你的代码似乎工作正常,也许问题出在其他地方。

if ((strpos($msg,$word)) !== false)

顺便说一下 请注意,您的脚本将为找到的每个坏词回显该字符串。 也许这样的事情会更好:

$msg = 'stupid is a bad word';
$counter = 0;
$badWords =['dumb','stupid'];

foreach ($badWords as $word) {
 if ((strpos($msg,$word)) !== false) {
        $counter++;
 }
}

if ($counter == 0){
   echo 'good  guy';
}else{
   $mail=false;
   echo"Please do not curse in your messages. We are a child-friendly community.";
}

demo
demo2