envoyer un formulaire en HTML sur un mail

Par Melissia, il y a 1 an


j'ai créer un formulaire en HTML avec un fichier complémentaire .php

Ce que je veux

il faudrait que quand je clique sur envoyer cela envoi un mail et que le formulaire se vide vu que c'est envoyé

Ce que j'obtiens

le formulaire a la forme, je le met en ligne, mais quand je fais le test, quand je clqiue sur le bouton envoyer, rien ne se passe.

7 réponses

Melissia, il y a 1 an

code utilisé :

html :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulaire de Contact</title>
</head>
<body>
<h2>Formulaire de Contact</h2>
<form action="send_email.php" method="POST">
<label for="name">Nom :</label><br>
<input type="text" id="name" name="name" required><br><br>

    <label for="email">Email :</label><br>
    <input type="email" id="email" name="email" required><br><br>

    <label for="message">Message :</label><br>
    <textarea id="message" name="message" rows="4" cols="50" required></textarea><br><br>

    <button type="submit">Envoyer</button>
</form>

</body>
</html>

le fichier contact.php :

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Récupérer les données du formulaire
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);

// Destinataire
$to = "toto@toto.fr";

// Sujet de l'email
$subject = "Nouveau message de contact de $name";

// Contenu de l'email
$body = "Nom: $name\n";
$body .= "Email: $email\n\n";
$body .= "Message:\n$message\n";

// En-têtes de l'email
$headers = "From: $email" . "\r\n" .
           "Reply-To: $email" . "\r\n" .
           "X-Mailer: PHP/" . phpversion();

// Envoyer l'email
if (mail($to, $subject, $body, $headers)) {
    echo "Votre message a été envoyé avec succès.";
} else {
    echo "Une erreur est survenue lors de l'envoi de votre message.";
}

}
?>

quand je clique sur envoyer rien ne se passe

Carouge10, il y a 1 an

le traitement se fait sur le fichier "send_email.php" et non "contact.php"

Melissia, il y a 1 an

merci de votre réponse, j'ai modifié, mais cela ne change pas le problème, c'est toujours pareil quand je clmique sur envoyer rien ne se passe du tout

Carouge10, il y a 1 an

je ne vois pas d'erreur dans le code.
un message d'erreur dans les logs ?

Melissia, il y a 1 an

bonjour, oui je suis hebergé sur OVH
je l'ajoute a mon site internet qui est dessus.

quand je fait mon message et que j'envoi cette fois ca fat comme ci ça avait envoyé car ça efface bien tout le formulaire il devient vide, mais je ne reçois rien et je n'ai aucun message d'erreur.

commen,t je peux voir sur OVH si la fonction mail est activé ?

Carouge10, il y a 1 an

penser à utiliser le site "mail-tester.com" pour verifier que vos mails ne sont pas détruit avant d'arriver dans la boite mail.

Melissia, il y a 1 an

merci pour vos réponse
je vais tester ça dès que je le peux