8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un formulaire, j'ai installé recaptcha de chez Google, qui fonctionne parfaitement.

Le hic, c'est que je veux forcer l'utilisateur à remplir le captcha, lors de la saisie de mon formulaire.

Le code :
 <form id="contact-form" method="post" action="Contact.php" role="form">

    <div class="messages"></div>

    <div class="controls">

        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label for="form_name">Votre nom *</label>
                    <input id="form_name" type="text" name="name" class="form-control" placeholder="S'il vous plait votre nom *" required="required" data-error="Firstname is required.">
                    <div class="help-block with-errors"></div>
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <label for="form_lastname">Votre prénom *</label>
                    <input id="form_lastname" type="text" name="surname" class="form-control" placeholder="S'il vous plait votre prénom *" required="required" data-error="Lastname is required.">
                    <div class="help-block with-errors"></div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label for="form_email">Votre e-mail *</label>
                    <input id="form_email" type="email" name="email" class="form-control" placeholder="Votre mail s'il vous plait *" required="required" data-error="Valid email is required.">
                    <div class="help-block with-errors"></div>
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <label for="form_phone">Votre téléphone</label>
                    <input id="form_phone" type="tel" name="phone" class="form-control" placeholder="Un n° de téléphone ?">
                    <div class="help-block with-errors"></div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-12">
                <div class="form-group">
                    <label for="form_message">Votre message *</label>
                    <textarea id="form_message" name="message" class="form-control" placeholder="Votre message *" rows="4" required data-error="Please,leave us a message."></textarea>
                    <div class="help-block with-errors"></div>
                </div>
            </div>
                     
            
           
            <div class="g-recaptcha" data-sitekey="XXXX"></div>
            <label for="form_message">Filtre anti-spam</label>
            <div id="html_element"></div>
            <div data-type="image" class="g-recaptcha" data-sitekey="XXX"></div>
            <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"async defer></script>
            </div>
      
            <p>&nbsp;</p>
                      
            <div class="col-md-12">
<p>
              <input type="submit" class="btn btn-success btn-send" value="Envoyer">
                </p>
          </div>
        </div>
        <div class="row">
            <div class="col-md-12"> 
              <p>&nbsp;</p>
Les champs marqué d'un * sont obligatoires pour l'envoi.</div>
        </div>
    </div>
</form>


Dans Contact.php

if (grecaptcha.getResponse() == ""){
    alert("You can't proceed!");
} else {
    alert("Thank you");
}


On peut envoyer le formulaire sans passer par le captcha, je n'arrive pas à vérifier que le captcha a bien été rempli Smiley decu

Merci de vos retours.
Modifié par Tintin75 (05 Jul 2016 - 09:22)
Modérateur
Greg_Lumiere a écrit :
Et la solution est...[roulement_de_tambour]
Smiley eek


Le suspense est INTENABLE !!! Smiley scared