ReCaptcha fonctionne sur IE mais pas sur Firefox - PHP  

Forum > PHP > ReCaptcha fonctionne sur IE mais pas sur Firefox

ReCaptcha fonctionne sur IE mais pas sur Firefox

Membre
# Le 27/02/2011 à 20h12
Bonjour a tous,

Je viens suivre le tutoriel de ce site pour mettre en place un ReCaptcha, et je suis prêt du but. Le système fonctionne plutôt bien sur IE, mais pas sur Firefox.
Sous firefox, même lorsque le Captcha est correct, je reçois le message comme quoi le Captcha n'est pas correct. smiley

Voici mon code dans ma page ou se trouve le formulaire (contact.php):
  1.  
  2. <div class="contactform_line"><form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
  3. <strong>Send us a message</strong></div>
  4. <div class="contactform_line">Your name:<input type="text" name="nom" size="45" maxlength="100"></div>
  5. <div class="contactform_line">Your email adress:<input type="text" name="mail" size="45" maxlength="100"></div>
  6. <div class="contactform_line">Object:<input type="text" name="objet" size="45" maxlength="100"></div>
  7. <div class="contactform_line_message">Message:<textarea id="textarea_size" name="message" cols="50" rows="10"></textarea></div>
  8. <div class="contactform_line_message"><?php
  9. require_once('recaptchalib.php');
  10. $publickey = "...";
  11. echo recaptcha_get_html($publickey);
  12. ?></div>
  13. <div class="contactform_line">
  14. <input type="submit" name="Submit" value="Send"><input type="reset" name="Submit" value="Reset the form"></div>


J'ai également dans la page qui traite le formulaire (envoi.php) le code suivant :

  1. <?php
  2. require_once('recaptchalib.php');
  3. $privatekey = "...";
  4. $resp = recaptcha_check_answer ($privatekey,
  5. $_SERVER["REMOTE_ADDR"],
  6. $_POST["recaptcha_challenge_field"],
  7. $_POST["recaptcha_response_field"]);
  8.  
  9. if (!$resp->is_valid) { // Test si le captcha a bien été rempli
  10. // Si le captcha n'est pas valide
  11. echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
  12. }
  13. else{
  14. // Si le captcha est valide
  15. $nom=$HTTP_POST_VARS['nom'];
  16. $mail=$HTTP_POST_VARS['mail'];
  17. $objet=$HTTP_POST_VARS['objet'];
  18. $message=$HTTP_POST_VARS['message'];
  19.  
  20. /////voici la version Mine
  21. $headers = "MIME-Version: 1.0\r\n";
  22.  
  23. //////ici on détermine le mail en format text
  24. $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
  25.  
  26. ////ici on détermine l'expediteur et l'adresse de réponse
  27. $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
  28.  
  29. $subject="$objet";
  30. $destinataire="contact@contact.com";
  31. $body="$message";
  32. if (mail($destinataire,$subject,$body,$headers)) {
  33. echo "Thank you, your message has been sent<br>";
  34. } else {
  35. echo "Sorry, your message has not be sent to a technical issue";
  36. }
  37. ?>
  38. <?php echo "You will be automatically redirected to the index page in 3 secondes.","\n"; ?> <p></p>
  39. <?php echo '<meta http-equiv="refresh" content="3; url=http://www.contact.com">';
  40. }
  41. ?>


J'ai été chercher la solutions sur d'autres forum, mais il semble que le personne a qui cela arrive ait mis leur code Recaptcha dans une table, et que Firefox tolère mal. Pour ma part ce n'est pas le cas...

Il y a t'il quelqu'un qui puisse m'aider sur ce problème ?

Merci,
Carbonara
avatar de Tony_
Administrateur
# Le 02/08/2011 à 22h07
Bonjour.
Je n'ai pas vraiment regardé le code mais je trouve cela étrange puisque la vérification du captcha de reCaptcha se fait du côté serveur et n'est donc pas en rapport avec le navigateur web.
Avez-vous un lien vers ces fichiers pour constater le problème?

Bon courage pour la correction du problème.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.