0

我有一个recaptcha问题,它没有发送邮件,即使我输入了正确的代码,我已经尝试了很多次,我什至让别人和另一个人尝试过,其次是在我的contact.php

4

2 回答 2

1

您的变量是 $response,但您正在检查 $resp 是否无效。改变这个:

    if (!($resp->is_valid)) {
        $captchaErrorMsg = true;
    }

    if (!($response->is_valid)) {
        $captchaErrorMsg = true;
    }
于 2013-08-02T19:24:45.800 回答
0

问题可能是您检查 $captchaerrorMsg 值的方式。

<?php if ($captchaErrorMsg){ ?>    
    <p style="color:red">Please enter correct verification code.</p>
<?php } ?>

当您没有明确指定它是什么时,PHP 会评估它认为您正在检查的内容。因此,上面的代码在 $captchaErrorMsg 为 1 时是否也运行,当它为真时,甚至当变量只包含一个字符时,如“x”。

您只想在错误消息为 true 时运行上述代码,因此您可以这样做:

<?php if ($captchaErrorMsg === true){ ?>    
    <p style="color:red">Please enter correct verification code.</p>
<?php } ?>

如果它仍然不起作用,你将不得不弄清楚你得到的实际价值。只需像这样对变量进行 var_dump :

var_dump($captchaErrorMsg);

如果这不起作用,请查看PHP 中奇怪的 reCaptcha 错误的解决方法

于 2013-08-02T23:02:58.480 回答