TUTO PHP - Intégrer Google reCaptcha à ses formulaires

PrimFX Boris ('PrimFX') Le 12 juin 2016

Après vous avoir montré comment créer un captcha uniquement en PHP, voici un petit tuto qui vous montrera comment utiliser le service reCaptcha signé Google ;-)

Liens utiles :
Statistiques Google reCaptchaCode du tuto :
<?php
  require('recaptcha/autoload.php');
  if(isset($_POST['submitpost'])) {
    if(isset($_POST['g-recaptcha-response'])) {
      $recaptcha = new \ReCaptcha\ReCaptcha('clé_secrète');
      $resp = $recaptcha->verify($_POST['g-recaptcha-response']);
      if ($resp->isSuccess()) {
          var_dump('Captcha Valide');
      } else {
          $errors = $resp->getErrorCodes();
          var_dump('Captcha Invalide');
          var_dump($errors);
      }
    } else {
      var_dump('Captcha non rempli');
    }
  }
?>
<html>
  <head>
    <title>reCAPTCHA demo: Simple page</title>
     <script src="https://www.google.com/recaptcha/api.js" async defer></script>
  </head>
  <body>
    <form method="POST">
      <div class="g-recaptcha" data-sitekey="clé_du_site"></div>
      <br/>
      <input type="submit" value="Valider" name="submitpost">
    </form>
  </body>
</html>

A propos de l'auteur

PrimFX
Boris ('PrimFX')

Je m'appelle Boris, j'ai 22 ans et je suis passionné d'informatique. Suite à mes études (Licence Informatique puis MSc Computer Science au Trinity College Dublin), je gère l'entreprise Single Quote co-fondée en 2019 et je profite de mon temps libre pour partager ma passion à travers des vidéos & articles 😃

Votre commentaire

Vous devez être connecté pour poster un commentaire. Se connecter ou Créer un compte

Commentaires 6

  • jbreakall Le 27 mars, à 14:35 | Répondre

    salut primfx!! tres bon tuto!!!! cool..

  • accomplication Le 19 mars, à 20:00 | Répondre

    trop cool

  • caronverrill Le 29 août, à 13:26 | Répondre

    Nickel :D
    Perso, pour afficher les erreurs les autres, enlever les var dump et remplacer:
    une variable: erreur = "invalide"; pour chaque var dump
    puis après la condition d'un > echo $erreur
    ;)

  • M69-74 Le 26 août, à 12:49 | Répondre

    @Blast0Kd Tu n'as pas bien du inclure tes fichiers je pense, verifie ta connexion, les URLS fichiers etc...

  • amadoungam3 Le 25 août, à 00:34 | Répondre

    <?php
    require('recaptcha/autoload.php');
    if(isset($_POST['submitpost'])) {
    if(isset($_POST['g-recaptcha-response'])) {
    $recaptcha = new \ReCaptcha\ReCaptcha('clé_secrète');
    $resp = $recaptcha->verify($_POST['g-recaptcha-response']);
    if ($resp->isSuccess()) {
    var_dump('Captcha Valide');
    } else {
    $errors = $resp->getErrorCodes();
    var_dump('Captcha Invalide');
    var_dump($errors);
    }
    } else {
    var_dump('Captcha non rempli');
    }
    }
    ?>
    <html>
    <head>
    <title>reCAPTCHA demo: Simple page</title>
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    </head>
    <body>
    <form method="POST">
    <div class="g-recaptcha" data-sitekey="clé_du_site"></div>
    <br/>
    <input type="submit" value="Valider" name="submitpost">
    </form>
    </body>
    </html>

  • Blast0Kd Le 12 juin, à 18:16 | Répondre

    Il me met ça comme message d'erreur @PrimFX :
    Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in S:\EasyPHP-DevServer-14.1VC9\data\localweb\captcha\recaptcha\ReCaptcha\RequestMethod\Post.php on line 68

    Warning: file_get_contents(https://www.google.com/recaptcha/api/siteverify): failed to open stream: Invalid argument in S:\EasyPHP-DevServer-14.1VC9\data\localweb\captcha\recaptcha\ReCaptcha\RequestMethod\Post.php on line 68
    string(16) "Captcha Invalide" array(1) { [0]=> string(12) "invalid-json" }