0

好的,所以我正试图让验证码在这里工作,我有一个看起来像这样的小错误检测。我不会粘贴整个页面,因为那会太长,只有要领

第 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

4

2 回答 2

1

$resp->error是你正在寻找的,$resp->is_valid是一个布尔值,我认为它已被弃用,因为 reCaptcha 成为谷歌主要工具的一部分,所以你可能正在检查一个不存在的变量。所以(!$resp->is_valid) 总是返回 TRUE。

于 2012-06-07T23:51:55.550 回答
0

自己修好了……我不知道为什么默认的谷歌代码不起作用,只是简单

更换

if (!$resp->is_valid)

如果($resp->错误)

它出于某种原因起作用

于 2012-06-05T22:26:57.350 回答