好吧所以我试图让验证码在这里工作,我有一个小错误检测看起来像这样的东西。我不会粘贴整个页面,因为这会太长,只有必需品
1页
<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/include/recaptchalib.php');
echo recaptcha_get_html($reCaptcha_publickey); ?>
<?php echo $_SESSION['devtest'];?>
2页
if (!$resp->is_valid)
{
$_SESSION['devtest'] = $resp->error . "testzzz"; // DEVELOPING, DELETE THIS
$errors = $errors . "'1',";
// Returns errors to page1
}
现在$ errors确实有'1',其中,它与devtest的“testzzz”部分相呼应,但它没有显示任何错误。 谁知道我做错了什么?感谢
编辑:我在大多数情况下都遵循了本指南,我只更改了if语句的代码https://developers.google.com/recaptcha/docs/php
答案 0 :(得分:1)
$resp->error
是你要找的,$resp->is_valid
是一个布尔值,我认为它已被弃用,因为reCaptcha成为googles主要工具的一部分所以你可能正在检查一个不是退出。所以(!$resp->is_valid)
总是返回TRUE。
答案 1 :(得分:0)
我自己修复了......我不知道为什么默认的Google代码无效但只是
替换
if(!$ resp-&gt; is_valid)
与
if($ resp-&gt; error)
并且由于某种原因它起作用