PHP比较不起作用

PHP比较不起作用,php,spam-prevention,Php,Spam Prevention,我正在尝试阻止机器人发布到网站。我们运行Google reCaptcha(v2)和蜜罐,但这些都是无效的。我怀疑他们在使用xRumer 无论如何,在我设置Google reCaptcha Beta 3之前,我想做一个简单的检查,如果电子邮件文本字段包含“@mail.ru”,那么不允许提交,因为大多数提交都与电子邮件字段中的该值相匹配 很简单,但它不起作用。我看了另一篇文章,但是!==也不起作用 一定很简单,但我看不出来 首先,我们检查表单是否已提交。然后查看最后8个字符是否与“@mail.ru”

我正在尝试阻止机器人发布到网站。我们运行Google reCaptcha(v2)和蜜罐,但这些都是无效的。我怀疑他们在使用xRumer

无论如何,在我设置Google reCaptcha Beta 3之前,我想做一个简单的检查,如果电子邮件文本字段包含“@mail.ru”,那么不允许提交,因为大多数提交都与电子邮件字段中的该值相匹配

很简单,但它不起作用。我看了另一篇文章,但是!==也不起作用

一定很简单,但我看不出来

首先,我们检查表单是否已提交。然后查看最后8个字符是否与“@mail.ru”匹配。我们还回显该值以确认比较是正确的,但它仍然允许Do Something区域

<?php if ($_SERVER["REQUEST_METHOD"] == "POST")  { 
    // post so do check
    $emailCheck = substr($_POST['email'], -8);
    if ($emailCheck !== '@mail.ru'); {  
?>

执行某些操作-仅在$emailCheck上不匹配时插入

仔细检查

<?php } } ?>

HTML


电子邮件检查:


正如@Qirel所指出的,代码中有一个错误,是一个结束分号

 if ($emailCheck !== '@mail.ru'); { 
在打开支架之前


Xrumer仍然阻挠我们阻止垃圾邮件帖子的尝试,但至少这个问题得到了准确的回答

if($emailCheck!='@mail.ru');{
分号
是导致您出现问题的原因。请删除该分号。Qirel,您是100%正确的。谢谢!
 if ($emailCheck !== '@mail.ru'); {