Bonjour,

J'ai un site internet pour une petite équipe de jeu vidéo (http://www.team-hfs.fr/test/)
Nous avons un formulaire de contact, sur lequel j'aimerai intégrer un ReCaptcha pour éviter les spams.

Le recaptcha est bien visible sur le formulaire de contact (html - coté client), mais je n'arrive pas à intégrer la vérification sur la page PHP (coté serveur).

J'ai testé certaines choses, mais n'étant qu'un amateur, j'avoue ne pas trop savoir quoi faire avec ce fichier php... Je bidouille comme ça mais voila ^^

J'ai testé divers choses vu ici est là sur le net, mais le ReCaptcha n'est pas prit en compte, le message est envoyé coché ou non.

J'aimerai un petit coup de main sur ce coup si vous avez un petit moment.

Voici le code du formulaire


<form id="form-contact" action="php/send_email.php" method="post" data-email-not-set-msg="Email requis" data-message-not-set-msg="Message requis" data-ajax-fail-msg="Votre message ne peut être envoyé. Essayez plus tard." data-success-msg="Message envoyé avec succés.">
    <div class="row">
        <div class="col-md-5 onscroll-animate" data-animation="fadeInUp" data-delay="350">
            <div class="input-container input-name">
                <input type="text" name="name" placeholder="Nom">
            </div>
            <div class="input-container input-email">
                <input type="text" name="email" placeholder="Adresse Email">
            </div>
            <div class="g-recaptcha" data-sitekey="j'ai caché ma clé"></div>
        </div>
        <div class="col-md-7 onscroll-animate" data-animation="fadeInUp" data-delay="500">
            <div class="input-container input-message">
                <textarea name="message" placeholder="Message"></textarea>
            </div>
 
        </div>
    </div>
    <p class="return-msg"></p>
    <div class="clearfix onscroll-animate" data-delay="500">
        <input class="pull-right" type="submit" value="Envoyer">
        <p class="note pull-left">* Nous vous répondrons dès que possible.</p>
    </div>
</form>



Petite précision, il n’apparaît pas ici mais dans le <Head> j'ai bien sur
<script src='https://www.google.com/recaptcha/api.js'></script>

Et voici le code du fichier php (send_email.php)


<?php
/*
 * Send email to your email box.
 *
 * (for developers: remember when $_POST['ajax'] is set to 'true' ajax will expect no output for success (if any output is set, it is displayed as error message))
**/
 
/* Make the changes here ***********************/
$recepient = "j'ai caché mon adresse mail";
$subject = "Site HFS - Nouveau Message";
$is_sender_required = true;     //if this is set to "true" email will not be sent if senders email is empty, set it to "false" if you want to send email anyway
$is_subject_required = false;
$is_message_required = true;
$is_name_required = true;
/***********************************************/
         
 
/* Do not change here anything unless you know for sure what to do */
 
include_once('class.emailSender.php');
 
 
$ajax = false;
if(@$_POST['ajax'] == 'true')
    $ajax = true;
$sender = @$_POST['email'];
$name = @$_POST['name'];
$message = 'Phone: ' . @$_POST['phone'] . '<br>' . @$_POST['message'];
 
if(!$ajax):
    ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Contact</title>
    </head>
     
    <body>
    <?php
endif;
 
$mail = new emailSender();
echo $mail->sendEmail($recepient, $sender, $subject, $message, $name, $is_sender_required, $is_subject_required, $is_message_required, $is_name_required);
 
if(!$ajax):
    ?>
    </body>
    </html>
    <?php
endif;
 
?>

Modifié par Jaxoo (31 Jan 2019 - 20:19)