我有一个简单的表单
<form id="myform" action="formprocess.php" method="POST">
username:<input type="text" name="username">
password:<input type="password" name="password">
<?php if($_COOKIE("login-attempt")>"4"){
require_once "recaptchalib.php";
echo recaptcha_get_html($publickey, $error);
}?>
<input type="submit" value="Sign in" id="signIn" name="signIn""/>
</form>问题是验证码(Recaptcha_response_field)也发布到formprocess.php页面,我希望这个验证码(Recaptcha_response_field)值应该在这里检查,如果它是正确的用户名和密码的值应该提交给formprocess.php,否则重新加载此页面与错误。我该怎么做呢?
发布于 2012-07-05 22:47:41
在我看来,最简单的做法是在formprocess.php的开头验证验证码,如果不能工作,就执行die('CAPTCHA failed),否则就运行脚本。即:
function verifyCAPTCHA(){
//function that verifies the captcha...
}
if (!verifyCaptcha()){
die('CAPTCHA Failed')
}
//the rest of your formprocess.php但是,如果您坚持将formprocess.php从验证码验证中分离出来,那么可以将表单action属性更改为类似于action='captchaValidate.php'的属性。
然后,captchaValidate.php将如下所示:
function verifyCAPTCHA(){
//function that verifies the captcha...
}
if (!verifyCaptcha()){
die('CAPTCHA Failed')
}else{
require('formprocess.php')
}当你说你想在这里验证验证码的时候,也许你的意思是你想发送一个AJAX请求,在其中你应该检查https://developers.google.com/recaptcha/docs/display和他们的AJAX API。您可以通过这种方式动态调用我提出的任一解决方案。还可以看看How to do a post request for my reCaptcha ajax api?
https://stackoverflow.com/questions/11344631
复制相似问题