Utilisation de recaptcha

Résolu/Fermé
forumeur - 13 oct. 2012 à 09:56
 forumeur - 14 oct. 2012 à 08:36
Bonjour,

Le problème avec mon code est que le captcha annonce "code invalide" dès le chargement de la page.

// --- Vérification de la validité du code captcha ---
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

if ($resp->is_valid){
	

                echo '<SCRIPT type="text/javascript"> 
alert("Code valide");
</SCRIPT>';
        } else {
                # set the error code so that we can display it
                                echo '<SCRIPT type="text/javascript"> 
alert("Code invalide");
</SCRIPT>';
	
		}


Avez-vous une idée pour que le message d'erreur ne s'affiche qu'à la soumission du formulaire ?

Merci

4 réponses

Utilisateur anonyme
13 oct. 2012 à 13:10
Bonjour,
le code est sur la même page que le formulaire?

Dans ce cas il faut faire


if(isset($resp) )
{
echo"Formulaire envoyer;

}
else
{
echo"Affichage du formulaire";
}

0
Salut ALAN305, merci pour ton aide.

Ce n'est pas encore bon. Là, c'est "code valide" qui s'affiche au chargement de la page !
0

if(isset( $_POST["recaptcha_response_field"]) && !empty(  $_POST["recaptcha_response_field"]) && isset( $_POST["recaptcha_challenge_field"]) && !empty(  $_POST["recaptcha_challenge_field"] ) )   


{    
  $resp = recaptcha_check_answer ($privatekey,    
                                $_SERVER["REMOTE_ADDR"],    
                                $_POST["recaptcha_challenge_field"],    
                                $_POST["recaptcha_response_field"]);    

//si le formulaire a été posté et n'est pas vide alors :    

if ($resp->is_valid){    
     

                echo '<SCRIPT type="text/javascript">     
alert("Code valide");    
</SCRIPT>';    
        } else {    
                # set the error code so that we can display it    
                                echo '<SCRIPT type="text/javascript">     
alert("Code invalide");    
</SCRIPT>';     
 }    

else    

{    
// sinon affichage du formulaire    
}    

J'espère que ce coup si ça va fonctionné.
Mais vu le nombre de poste que tu fais a propos de PHP je te propose tout de même de l'apprendre correctement.

Si tu as encore un problème n'hésite pas.

Et si ça ne fonctionne pas, essai d'envoyer le code complet.

Cordialement, Alan toujours là pour aider!
0
ça marche. Merci !
0