ciao in una pagina web voglio inserire un form html con verifica captcha utilizzando recaptcha di google
il codice che ho inserito è il seguente:
codice:
<script type="text/javascript"> function validateCaptcha() { challengeField = $("input#recaptcha_challenge_field").val(); responseField = $("input#recaptcha_response_field").val(); //alert(challengeField); //alert(responseField); //return false; var html = $.ajax({ type: "POST", url: "http://mysite.com/script.php", data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField, async: false }).responseText; if (html.replace(/^\s+|\s+$/, '') == "success") { $("#show").html("Success. Submitting form."); return false; // Uncomment the following line in your application //return true; } else { $("#show").html("Your captcha is incorrect. Please try again"); Recaptcha.reload(); return false; } } </script>
e per il form il seguente codice
codice:
<form action="#" method="post" onSubmit="return validateCaptcha()">
<?php echo recaptcha_get_html($publickey);?></p> <p style="color: red;" id="show"></p> <input type="submit" name="Submit" value="Submit"> </form>
mentre per la parte di controllo sul server nel file script.php ho inserito
Codice PHP:
<?php require_once('controllers/recaptchalib.php'); $privatekey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; # was there a reCAPTCHA response? { $response = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$response->is_valid) { echo 'ERROR: The recaptcha code was not entered correctly or expired.'; die; } else echo "success"; } ?>
se il codice inserito nel captcha è sbagliato mi da "Your captcha is incorrect. Please try again" se corretto "Success. Submitting form."
Ora se un utente inserisce il codice corretto come faccio a visualizzare sotto la scritta
"Success. Submitting form." il contenuto del file script.php che può essere una tabella da stampare o qualsiasi altro cosa ? Praticamente la funzione ajax mi dovrebbe leggere il contenuto dello script.php e visualizzarlo sotto il form senza ricaricare la pagina o fare un redirect
Grazie