Probleme avec Captcha Google (Validation messages)

Petit nouveau ! | 4 Messages

16 mars 2017, 12:58

Bonjour a tous et merci a celles et ceux qui m'aideront.

Je ne suis pas compétent en PHP voila pourquoi je demande de l'aide.
Je souhaite installer un captcha google sur la page livre d'or de mon site internet. C'est un formulaire simple avec le nom/pseudo, le message et l'affichage des messages sur la page après modération.
Ma démarche est simple, mettre un captcha google entre l'écriture du message et l'envoie du message de façon a éviter les spams.

Le problème que je rencontre est qu'il est toujours possible de valider le message en cliquant sur "ENVOYER" que l'on clique ou pas sur le captcha "Je ne suis pas un robot".
Je souhaiterais faire en sorte que le message ne soit validé qu'après avoir cliqué sur le captcha.

Y'aurait il une âme charitable pour me donner un coup de main ?
Merci a vous
<!-- CONTENU --> 
        <div class="livreor_container">
 
            <!-- Row -->
            <div class="row">
             
            <!-- Image 1 -->
            <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12  portfolio-item">
             
             
            <?php
foreach($_POST as $key => $val) echo '$_POST["'.$key.'"]='.$val.'<br />';
            ?>
   
   
                <?php
                 
                mysql_connect('','','');
                mysql_select_db('');
                 
                 
                $Msg = '';
                 
                if( count($_POST) > 0 ){
                 
                    if( empty($_POST['Pseudo']) ){
                 
                        $Msg = 'Vous devez saisir un pseudo.<br />';
                    }
                 
                    if( empty($_POST['Message']) )
                        $Msg .= 'Vous devez saisir un message';
                 
                    if( $Msg == '' ){
                 
                        $IsInsert = mysql_query('INSERT INTO messages VALUES ("0","'.mysql_real_escape_string(htmlspecialchars($_POST['Pseudo'],ENT_QUOTES)).'","'.mysql_real_escape_string(htmlspecialchars($_POST['Message'],ENT_QUOTES)).'",CURRENT_TIMESTAMP,0) ') or 0;
                 
                        if( $IsInsert != 0 ){
                 
                            $Msg = '<p style="color:green;font-weight:bold;">Votre message a bien été sauvegardé, il est en attente de modération.</p>';
                        }
                        else{
                 
                            $Msg = '<p style="color:red;font-weight:bold;">Il y a eu un soucis technique si le problème persiste merci de nous contacter. Veuillez réessayer ans quelque minutes.</p>';
                 
                        }
                    }
                    else{
                 
                        $Msg = '<p style="color:red;font-weight:bold;">'.$Msg.'</p>';
                    }
                }
                 
                ?>
 
                <h1>Un commentaire ? Un avis ? Une idée ? Une amélioration ? <br><br>Laissez votre message ici !</h1><?= $Msg; ?>
 
 
                <form action="" method="post">
                 
                    <div class="row">
                 
                        <div class="col-lg-6 field">
                            <div class="form-group">
                                <label for="Pseudo">Votre pseudo :</label>
                                <input required type="text" name="Pseudo" class="form-control" id="Pseudo" value=""/>
                            </div>
                        </div>
                 
                        <div class="col-lg-12 margintop10 field">
                            <div class="form-group">
                                <label for="Message">Votre message</label>
                                <textarea required id="Message" name="Message" class="form-control" cols="60" rows="10"></textarea>
                            </div>
                        </div>
                         
                        <div class="col-lg-12 margintop10 field">
                            <div class="form-group">
                                <div class="g-recaptcha" data-sitekey=""></div>
                            </div>
                        </div>
                         
                 
                        <div class="col-lg-12">
                            <button type="submit" name="Send" value="Envoyer mon message" class="btn btn-primary btn-lg">Envoyer</button>
                         </div><br>
                    </div>
                <br>
                <br>
                <br>
                <br>
                 
                </form>
                <?php
 
        //================
        //  Affichage des messages
        //================
 
                $num_rec_per_page=5;
                 
                if (isset($_GET['page']))
                    $page = intval($_GET['page']); // intval() convertie la valeur en entier, pour être sur qu'un utilisateur ne mette pas n'importe quoi (injection SQL)
                else
                    $page = 1;
                  
                $nbr_resultat = 5; // nombre de messages à afficher
                $start_query = ($page-1)*$nbr_resultat; // on demande à Mysql de récupérer les messages à partir de ce nombre, qui dépend de la page affichée, et du nombre de messages à afficher
                  
                  
                $LesMessages = mysql_query("SELECT * FROM messages WHERE PublierMessage=1 ORDER BY idMessage DESC LIMIT $start_query,$nbr_resultat");
                 
                if( mysql_num_rows($LesMessages) > 0 ){
                 
                    while( $UnMessage = mysql_fetch_array($LesMessages) ){
                 
                        $Date = date_parse($UnMessage['DateMessage']);
                 
                        echo '
                        <div class="row">
                        <div class="col-lg-12">
                 
                        <p>         
                            Par <strong>'.$UnMessage['AuteurMessage'].'</strong> Le : <em>'.$Date['day'].'/'.$Date['month'].'/'.$Date['year'].'</em> à <em>'.$Date['hour'].'h'.$Date['minute'].'</em> <br />
                            '.nl2br($UnMessage['Message']).'
                        </p>
                        <hr />
                 
                        </div>
                        </div>
                 
                 
                        ';
                    }
                }
                 
                 
                 
                 
                 
                $IsInsert = "SELECT * FROM messages";
                $rs_result = mysql_query($IsInsert); //run the query
                $total_records = mysql_num_rows($rs_result);  //count number of records
                $total_pages = ceil($total_records / $num_rec_per_page);
                 
                echo "<a href='livredor.php?page=1'>".'‹ Préc.'."</a> "; // Goto 1st page
                 
                for ($i=1; $i<=$total_pages; $i++) {
                            echo "<a href='livredor.php?page=".$i."'>".$i."</a> ";
                }
                echo "<a href='livredor.php?page=$total_pages'>".'Suiv. >'."</a> "; // Goto last page
                 
 
 
        //================
        //  Affichage des messages
        //================
        //$LesMessages = mysql_query("SELECT * FROM messages WHERE PublierMessage=1 ORDER BY idMessage DESC LIMIT $start_from, $num_rec_per_page");     J'ai supprimer cette partie avec les 2 accolades pour supprimer l'erreur
         
        //if( mysql_num_rows($LesMessages) > 0 ){
     
            while( $UnMessage = mysql_fetch_array($LesMessages) ){
                 
                $Date = date_parse($UnMessage['DateMessage']);
                 
                echo '
                <div class="row">
                <div class="col-lg-12">
                 
                <p>          
                    Par <strong>'.$UnMessage['AuteurMessage'].'</strong> Le : <em>'.$Date['day'].'/'.$Date['month'].'/'.$Date['year'].'</em><br />
                    '.nl2br($UnMessage['Message']).'
                </p>
                <hr />
                 
                </div>
                </div>
                 
                 
                ';
            }
        //}
 
 
            ?>
   
            </div>
             
            </div>
            <!-- Fin Image 1 -->
     
            </div>
            <!-- Fin row -->
             
        </div>
        <!-- FIN CONTENU -->

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8733 Messages

16 mars 2017, 15:35

salut,

qu'a tu essayé a partir de la doc ?
https://developers.google.com/recaptcha/docs/display

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 4 Messages

19 mars 2017, 00:09

Désolé de répondre maintenant.
Merci pour la réponse.

Bien j'ai suivi la procédure de google "reCaptcha V2" mais le captcha ne s'affichait pas sur la page.
Du coup j'ai suivi des tutos sur des sites mais mon problème de validation des messages subsiste.