0

我有2页。

第 1 页有一个将值发布到第 2 页的表单

第 2 页有以下内容:

if (!$resp->is_valid) {

    // What happens when the CAPTCHA was entered incorrectly
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again. " .
         "(reCAPTCHA said: " . $resp->error . ")");

} else {

die我如何在 recaptcha 控件下的第 1 页上显示该值或更合适的值,而不是在第 2 页上显示输出?

4

4 回答 4

1

您可以在第 1 页上制作一个if (isset($_POST['submit')){...}块。在此块中,您检查 recaptcha 和echo ""错误消息。

于 2013-08-26T10:04:09.583 回答
0

您应该将请求发布到 page1 并在那里添加 recaptcha 代码。然后你可以设置一个变量,$error如果有错误,而不是调用die(...);. 然后,在recaptcha 表单之后,您可以检查是否$error已设置,然后显示错误消息。这将如下所示:

if( isset( $error ) ) {
    echo '<p class="error">' . $error . '</p>';
}

我希望这有帮助。

于 2013-08-26T10:06:39.597 回答
0

您可以将表单提交到第 1 页并检查验证码是否正确:

  • 如果不正确,您可以在表单本身附近的某处显示消息,
  • 如果正确,您可以设置 cookie / 设置一些会话变量并重定向到第 2 页,

其他方式是,在第 2 页上,die如果验证码不正确,而不是重定向回第 1 页(您也可以设置一些会话变量以在重定向后在第 1 页上显示错误)

于 2013-08-26T10:07:03.760 回答
0

Yoг 在一个脚本中获取错误状态,但想在另一个脚本中使用该值。它具有下一个解决方案:1)使用 $_SESSION 数组在脚本 2 中保存验证状态:

if (!$resp->is_valid) {

    // What happens when the CAPTCHA was entered incorrectly
    $_SESSION['error_status'] = $resp->error;

} else {

在脚本 1 中:

if ($_SESSION['error_status']){
    echo "<p class='error'>{$_SESSION['error_status']}</p>"
}

2) 或者您可以在 header('Location: http://you_site.com/?error_status= '.$error_code)中添加 error_status ;在第二个脚本中

于 2013-08-26T10:16:21.760 回答