0

私はシンプルなフォームを持っています

<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>

問題は、captcha(recaptcha_response_field) も formprocess.php ページに投稿されることです。この captcha(recaptcha_response_field) の値が正しければ、ここでチェックする必要があります。そうでない場合は、ユーザー名とパスワードの値を formprocess.php に提示する必要があります。このページをエラーとともに再読み込みしてください。これどうやってするの。?

4

1 に答える 1

0

私の目に最も簡単な方法は、 の最初に CAPTCHA を検証し、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ただし、 CAPTCHA 検証から分離することを主張する場合は、代わりに formaction属性を のようなものに変更できますaction='captchaValidate.php'

captchaValidate.php次に、次のようになります。

function verifyCAPTCHA(){
  //function that verifies the captcha...
}
if (!verifyCaptcha()){
  die('CAPTCHA Failed')
}else{
  require('formprocess.php')
}

「ここ」で CAPTCHA を検証したいと言った場合、AJAX リクエストを送信したいと言っているのかもしれません。 /displayとその AJAX API。この方法で、提案されたソリューションのいずれかを動的に呼び出すことができます。また、reCaptcha ajax api の投稿リクエストを行うにはどうすればよいですか? もご覧ください。

于 2012-07-05T14:47:40.770 に答える