ReCaptcha

Signaler
Messages postés
13
Date d'inscription
mardi 23 juin 2020
Statut
Membre
Dernière intervention
30 juin 2020
-
Messages postés
13
Date d'inscription
mardi 23 juin 2020
Statut
Membre
Dernière intervention
30 juin 2020
-
Bonjour,

J'ai rajouté un captcha sur mon site mais je ne sais pas comment faire pour l'assigner pour que l'envoie de mail échoue si le captcha n'est pas remplis. J'ai mon formulaire de contact en html et mon envoie de formulaire à une adresse mail en php. Mon captcha est à la fin de mon code html.

Voici mon formulaire de contact en html :

<form id="contact-form" name="contact-form" method="POST" style="font-family:cuprum;">

                <div class="row">
                    <div class="col-md-6">
                        <div class="md-form mb-0">
                            <input type=$text id="name" name="name" class="form-control">
                            <label for=$name class="" style="color: #FFFF">Votre nom</label>
                        </div>
                    </div>

                    <div class="col-md-6">
                        <div class="md-form mb-0">
                            <input type=$text id="email" name="email" class="form-control">
                            <label for=$email class="" style="color: #FFFFFF">Email</label>
                        </div>
                    </div>

                </div>
                <div class="row">
                    <div class="col-md-12">
                        <div class="md-form mb-0">
                            <input type=$text id="subject" name="subject" class="form-control">
                            <label for=$subject class="" style="color: #FFFFFF">Sujet</label>
                        </div>
                    </div>
                </div>
                <div class="row">
                  <div class="col-md-12">
                      <div class="md-form">
                        <textarea type="text" id="message" name="message" rows="2" class="form-control md-textarea"></textarea>
                        <label for= $message style="color: #FFFFFF">Votre message</label>
                      </div>
                 </div>
              </div>


            </form>

            <div class="text-center text-md-left">
                <a class="btn btn-primary" onclick="document.getElementById('contact-form').submit();" style="color: #FFFFFF">Envoyer </a> </div>
                <div style="align-content: right;" class="g-recaptcha" data-sitekey="6LcePAATAAAAAGPRWgx90814DTjgt5sXnNbV5WaW"></div>
                <script src='https://www.google.com/recaptcha/api.js'></script>
            <div class="status"></div>


Et voici mon envoie de mail en php :

<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//récupération PROPRE des variables AVANT de les utiliser
$name = !empty($_POST['name']) ? $_POST['name'] : NULL;
$email = !empty($_POST['email']) ? $_POST['email'] : NULL;
$subject = !empty($_POST['subject']) ? $_POST['subject'] : NULL;
$message= !empty($_POST['message']) ? $_POST['message'] : NULL;

//on envoi le mail que si le nom, l'email et le message sont complétés
if($name && $email && $message){
  $to = "anthooony57@gmail.com";
  $body = 'Nom : ' . $name . "   email : " .$email . "   sujet : " .$subject . "   message : " .$message;
  mail($to,$subject,$body);
}

?>

4 réponses

Messages postés
11459
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655
bonjour,
reçois-tu
$_POST['g-recaptcha-response']
?
si oui, il faut le vérifier. si non, il y a un soucis dans ton html.
Messages postés
13
Date d'inscription
mardi 23 juin 2020
Statut
Membre
Dernière intervention
30 juin 2020

Je débute alors je sais juste que mon captcha fonctionne très bien seul de son côté mais je n'arrive pas à l'intégrer dans le formulaire
Messages postés
11459
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2020
655 >
Messages postés
13
Date d'inscription
mardi 23 juin 2020
Statut
Membre
Dernière intervention
30 juin 2020

ajoute
print_r($_POST);
, et montre le résultat.
Messages postés
13
Date d'inscription
mardi 23 juin 2020
Statut
Membre
Dernière intervention
30 juin 2020

En fait je viens de me rendre compte que je peux envoyer le formulaire même avec aucune case remplis, mon php est faux :/ . Donc il faut que je trouve comment faire pour mettre comme des cases obligatoire dans le formulaire et faire passer le captcha comme case obligatoire aussi
Messages postés
902
Date d'inscription
mardi 20 mai 2003
Statut
Contributeur sécurité
Dernière intervention
2 juillet 2020
100
Bonjour,

Hum...

reCaptcha

Jeter tous ses visiteurs dans le tracking de Google.

Cherchez un captcha de type "Captcha à trier", installé sur votre serveur et 100% personnel.

Cordialement,
Messages postés
13
Date d'inscription
mardi 23 juin 2020
Statut
Membre
Dernière intervention
30 juin 2020

Bonjour,

d'accord, merci beaucoup pour votre réponse