JS

Afficher message de validation formulaire

Non Résolu

Bonjour ! J'espère que vous vous portez bien. J'ai créé une sorte de newsletter qui marche comme un champs de formulaire. En gros, l'utilisateur rentre son email, appuie sur "S'inscrire", et là on m'envoie un email avec l'adresse mail de l'utilisateur qui souhaite s'inscrire à la newsletter. 


Pour ça, j'ai 3 fichiers : 


- Un fichier JS

- Un fichier PHP

- Un fichier HTML


En fait, ce que je recherchais était que quand l'utilisateur appuie sur s'inscrire, la page ne se recharge pas, mais grâce à AJAX, tout se fait en "arrière plan". J'ai réussi, mais je cherche juste un moyen d'afficher un message de confirmation d'inscription à la newsletter grâce à une div que je place dans mon fichier HTML. 


Voilà les codes: 


HTML :


<form action="news.php" class="newsletter_form" method="post" id="myForm">
                                <input type="email" name="emaille" id="emaille" placeholder="Enter your mail">
                                <button type="submit" name="submitte">Sign Up</button>
                            </form>


PHP :


<?php
 
    $to = "exemple@gmail.com";
    $from = $_REQUEST['emaille'];
 
    $headers = "From: $from";
    $headers = "From: " . $from . "\r\n";
    $headers .= "Reply-To: ". $from . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
 
    $subject = "Nouvelle demande d'abonnement à la newsletter !";
 
    $logo = 'img/logo.png';
    $link = '#';
 
    $body = "<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8'><title>Express Mail</title></head><body>";
    $body .= "<table style='width: 100%;'>";
    $body .= "<thead style='text-align: center;'><tr><td style='border:none;' colspan='2'>";
    $body .= "<a href='{$link}'><img src='{$logo}' alt=''></a><br><br>";
    $body .= "</td></tr></thead><tbody><tr>";
    $body .= "<td style='border:none;'><strong>Name:</strong> {$name}</td>";
    $body .= "<td style='border:none;'><strong>Email:</strong> {$from}</td>";
    $body .= "</tr>";
    $body .= "<tr><td style='border:none;'><strong>Subject:</strong> {$subject}</td></tr>";
    $body .= "<tr><td></td></tr>";
    $body .= "<tr><td colspan='2' style='border:none;'>{$cmessage}</td></tr>";
    $body .= "</tbody></table>";
    $body .= "</body></html>";
 
    $send = mail($to, $subject, $body, $headers);
    echo "L'email a été envoyé.";
?>


JS :


$("#myForm").submit(function(e){
  e.preventDefault(); //empêcher une action par défaut
  var form_url = $(this).attr("action"); //récupérer l'URL du formulaire
  var form_method = $(this).attr("method"); //récupérer la méthode GET/POST du formulaire
  var form_data = $(this).serialize(); //Encoder les éléments du formulaire pour la soumission
   
  $.ajax({
    url : form_url,
    type: form_method,
    data : form_data
  }).done(function(response){
    $("#res").html(response);
  });
});


PS: Je réarrangerai le PHP pour la structure de l'email plus tard, c'est pour ça qu'il y a des éléments qui ne correspondent à rien. 


Voilà, merci d'avance !

498 vues
13 janvier 2021 à 10:31
Cette pub permet au site de vivre ...

3 commentaires

🚧🚧🚧

Ce topic a été édité il y a plus de 1 mois.

Je ferme ce topic.

🚧🚧🚧

Bonsoir @Loussio,


Nous n'avons pas eu de réponse de ta part sur ce topic depuis plus de trois semaines...


Ton problème est-il résolu ? 🤔

Salut @Loussio,


Tu souhaiterais afficher un message quand tu cliques sur ton bouton "Valider" comme ceci :


print("Votre demande à bien été pris en compte !")


C'est bien ça ?🤔

Cette pub permet au site de vivre ...