Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
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 !
🚧🚧🚧
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 ?🤔