我有一个recaptcha的问题,它没有发送邮件,即使我已经正确输入代码,我已经尝试了很多次,我甚至还有其他人尝试它和另一个人,其次是我的{ {1}}
答案 0 :(得分:1)
您的变量是$ response,但您正在检查$ resp是否无效。改变这个:
if (!($resp->is_valid)) {
$captchaErrorMsg = true;
}
到
if (!($response->is_valid)) {
$captchaErrorMsg = true;
}
答案 1 :(得分:0)
问题可能在于您检查$ captchaerrorMsg的值。
<?php if ($captchaErrorMsg){ ?>
<p style="color:red">Please enter correct verification code.</p>
<?php } ?>
当你没有明确指出它是什么时,PHP会评估它认为你正在检查的内容。因此,当$ captchaErrorMsg为1时,上述代码也会运行,当它为true时,或者甚至当变量只包含一个字符时,例如'x'。
您只想在错误消息为真时运行上述代码,因此您可以这样做:
<?php if ($captchaErrorMsg === true){ ?>
<p style="color:red">Please enter correct verification code.</p>
<?php } ?>
如果它仍然不起作用,你必须弄清楚你得到的实际值。只需执行变量的var_dump,如下所示:
var_dump($captchaErrorMsg);
如果这不起作用,请在weird reCaptcha error in PHP
处查看此解决方法