Php 注意:未定义索引:在
我正试图在我的网站上设置recaptcha。验证码表单正在出现,但当我输入并提交时,服务器会做出以下响应: 注意:未定义的索引:第6行包含服务器、验证码、代码的php文件位置中的recaptcha、挑战字段Php 注意:未定义索引:在,php,captcha,recaptcha,Php,Captcha,Recaptcha,我正试图在我的网站上设置recaptcha。验证码表单正在出现,但当我输入并提交时,服务器会做出以下响应: 注意:未定义的索引:第6行包含服务器、验证码、代码的php文件位置中的recaptcha、挑战字段 注意:未定义的索引:第7行包含服务器、验证码、代码的php文件位置中的recaptcha响应字段 没有正确输入reCAPTCHA。回去再试一次。(雷帕查说:验证码不正确) 我不知道发生了什么事。我要用这个把头发拔出来。在包含验证码的表单中,我得到了以下代码: <?php
注意:未定义的索引:第7行包含服务器、验证码、代码的php文件位置中的recaptcha响应字段
没有正确输入reCAPTCHA。回去再试一次。(雷帕查说:验证码不正确) 我不知道发生了什么事。我要用这个把头发拔出来。在包含验证码的表单中,我得到了以下代码:
<?php
require_once('recaptchalib.php');
$publickey = "MY_PUBLIC"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
不知道会是什么。我严格按照验证码网站上的说明进行操作
任何帮助都将不胜感激 可能的情况:您的表单使用了错误的方法,例如
,或者名称为
的输入元素不存在,或者是由recaptcha\u get\u html()
函数创建的,或者您甚至没有在检查中包装recaptcha\u check\u answer()
,以查看是否通过if>处理已发布的表单($\u服务器['REQUEST\u METHOD']='POST')
表单实际上是与数据类型为“JSON”的jquery.POST()一起提交的我想,这仍然是一个post方法。你认为这可能是问题所在吗?是的,很有可能。你对jQuery的使用应该被提及。事实似乎并非如此。我切换到了一个带有操作的普通表单,而不是jQuery post()方法,但仍然不起作用。相同的服务器响应。在提交表单之前,请确认HTML源代码中有一个带有name=“recaptcha\u challenge\u field”
和name=“recaptcha\u response\u field”
的输入字段,如果没有,则您的recaptcha\u get\u HTML()实现可能有问题
(确保它位于
标记内)
require_once('location of captcha library');
$privatekey = "MY_PRIVATE_KEY";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
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 {
// Your code here to handle a successful verification
}