[英]Display recaptcha error message on the same page
我有 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 {
我如何在第 1 页的 recaptcha 控件下显示该值或更合适的值,而不是在第 2 页上显示die
输出?
您可以在第 1 页上创建if (isset($_POST['submit')){...}
块。 在此块中,您检查 recaptcha 并echo ""
错误消息。
您应该将请求发布到 page1,并在那里添加 recaptcha 代码。 然后你可以设置一个名为$error
的变量,如果有错误而不是调用die(...);
. 然后,在recaptcha 表单之后,您可以检查是否设置了$error
,然后显示错误消息。 这将类似于以下代码片段:
if( isset( $error ) ) {
echo '<p class="error">' . $error . '</p>';
}
我希望这有帮助。
您可以将表单提交到第 1 页并检查那里的验证码是否正确:
另一种方式是,第2页,而不是die
重定向回第1页,如果验证码不正确的(你可以重定向后藏汉设置一些会话变量显示错误第1页)
您在一个脚本中获取错误状态,但想在另一个脚本中使用该值。 它有下一个解决方案: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; 在第二个脚本中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.