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