Utilisation de recaptcha

Résolu/Fermé
forumeur - 9 oct. 2012 à 13:13
Dj Nam Messages postés 327 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 31 janvier 2014 - 10 oct. 2012 à 10:59
Bonjour,


Je cherche à installer recaptcha sur mon formulaire, il me parait simple à utiliser. Pourtant, il m'affiche toujours "le captcha antispam n\'est pas valide".

Mon formulaire :
 require_once('../../js/recaptcha/recaptchalib.php');
          $publickey = "clé publique "; // you got this from the signup page
          echo recaptcha_get_html($publickey);



   echo'<input class="'.$prefixe.'" type="submit" name="submit" value="send" style="width:100" '.$disabled.'></input> <input class="'.$prefixe.'" type="reset" name="submit" value="cancel" style="width:100"></input>


Ma page de vérification :
<?php
  require_once('../js/recaptcha/recaptchalib.php');
  include('configuration/head.php');
  $privatekey = "clé privée";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);
   
   if (!$resp->is_valid) { // Test si le captcha a bien été rempli
// Si le captcha n'est pas valide
echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
}
else{
 
echo "ici, le code est valide";

$pseudo = strip_tags(secure($_POST['pseudo']));
$titre = strip_tags(secure($_POST['titre']));
$texte = strip_tags($_POST['texte']);
$note = strip_tags($_POST['note']);
$id = intval($_POST['id']);
$date = date("y-m-d");
$sql = "INSERT INTO comments(id, pseudo,titre, texte, note, date, news) VALUES('','$pseudo','$titre','$texte','$note','$date','$id')";
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

}
?>


Merci d'avance pour votre aide !

6 réponses

Dj Nam Messages postés 327 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 31 janvier 2014 41
9 oct. 2012 à 13:38
Bonjour,

As-tu pense a demarrer la session sur tes deux fichiers avec session_start, as-tu bien colle ta cles privee aux deux endroits ou c'est necessaire ? Et enfin, as-tu essayer sur ta page de traitement de faire un var_dump($_POST) pour verifier les valeurs ?
0
Même avec le session start, le code reste invalide. Les deux clés sont bien renseignées.

Avec un var_dump, les valeurs de $_POST sont bonnes.
0
Je teste recaptcha sur un formulaire tout simple pour voir, et le résultat est le même. Un var dump sur $resp m'indique que la variable est NULL.
0
Dj Nam Messages postés 327 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 31 janvier 2014 41
10 oct. 2012 à 08:50
As-tu bien active l'affichage des erreurs (cf : error_reporting()) car si la variable $resp est nulle tu devrais avoir une erreur soit sur le require_once soit lorsque tu utilise la variable.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Après pas mal de recherches sur google, j'ai fini par trouver d'où venait le problème : la balise form dans la balise table est invalide, j'ai du mettre form en dehors. Voilà.
0
Dj Nam Messages postés 327 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 31 janvier 2014 41
10 oct. 2012 à 10:59
Ah bah oui, il faut englober le tableau par la balise form.

Bonne continuation alors et si tu as le moindre souci, n'hesite pas a revenir ;)
0