0
$message=$this->filter($_POST['suggestion']);

protected function filter($mail)
{
    if(strpos($mail,"<") !== false)
    {
        $mail = "message entered is invalid";
    }
    else
    {
        $mail = $mail;
    }

    return $mail;
} 

当然我在这里做错了,但如果$_POST["suggestion"]包含一个“<”那么它应该返回我预定义的消息。它不起作用:无论“<”是否在那里,它总是返回相同的消息。

4

2 回答 2

0

看到这个:

<?
function filter($mail)
{
    if(strpos($mail,"<")!==false)
    {
       $mail="message entered is invalid";
    }

    return $mail;
}

echo filter("something");
echo filter("some < thing");
?>

演示

你不需要这个else部分。你的其余代码工作正常。

部分!==还可以!见: http: //php.net/manual/es/function.strpos.php

于 2013-08-15T18:44:28.593 回答
0

你可以使用 preg_match

function filter($mail)
{
    if(preg_match("/</", $mail))
    {
      $mail="message entered is invalid";
     }

   return $mail;
}

http://php.net/manual/en/function.preg-match.php

于 2013-08-15T18:49:11.747 回答