Integrer formulaire dans site
Bruno83200_6929 Messages postés 683 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche un PETIT formulaire simple à intégrer dans mon site afin de permettre au visiteur de me contacter.. Ce que je trouve sur le net me semble bien riche et compliqué ! Le site a dix ans au moins, est ecrit en html et un peu de php.... Help , merci !
Windows / Chrome 147.0.0.0
- Integrer formulaire dans site
- Whatsapp formulaire opposition - Guide
- Wannonce nouveau site - Guide
- Wannonce site fermé - Guide
- Site x - Guide
- Site de telechargement - Accueil - Outils
2 réponses
Bonjour,
Colle le formulaire HTML dans ta page (ou crée une page contact.html).
Crée le fichier contact.php avec le code ci-dessus.
Change absolument la ligne $to = "[email protected]"; par ton vrai email.
Teste-le sur ton hébergement (la fonction mail() fonctionne sur la plupart des hébergements PHP classiques).
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Contact</title>
<style>
/* Style très simple et propre (tu peux l'ajuster) */
form {
max-width: 500px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #f9f9f9;
}
label {
display: block;
margin: 10px 0 5px;
font-weight: bold;
}
input[type="text"], input[type="email"], textarea {
width: 100%;
padding: 8px;
margin-bottom: 15px;
border: 1px solid #aaa;
border-radius: 3px;
box-sizing: border-box;
}
textarea {
height: 150px;
}
button {
background-color: #0066cc;
color: white;
padding: 10px 20px;
border: none;
border-radius: 3px;
cursor: pointer;
}
button:hover {
background-color: #0055aa;
}
</style>
</head>
<body>
<h1>Me contacter</h1>
<form action="contact.php" method="post">
<label for="nom">Votre nom :</label>
<input type="text" id="nom" name="nom" required>
<label for="email">Votre email :</label>
<input type="email" id="email" name="email" required>
<label for="message">Votre message :</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Envoyer le message</button>
</form>
</body>
</html>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Récupération des données
$nom = strip_tags(trim($_POST["nom"]));
$email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
$message = strip_tags(trim($_POST["message"]));
// Ton adresse email (à modifier !)
$to = "[email protected]"; // ←←← CHANGE ÇA
$subject = "Nouveau message de " . $nom . " via le site";
// Construction du corps de l'email
$body = "Nom : " . $nom . "\n";
$body .= "Email : " . $email . "\n\n";
$body .= "Message :\n" . $message . "\n";
// En-têtes
$headers = "From: " . $email . "\r\n";
$headers .= "Reply-To: " . $email . "\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";
// Envoi de l'email
if (mail($to, $subject, $body, $headers)) {
echo "<p style='color:green; text-align:center;'>Merci ! Votre message a bien été envoyé.</p>";
echo "<p style='text-align:center;'><a href='javascript:history.back()'>Retour au formulaire</a></p>";
} else {
echo "<p style='color:red; text-align:center;'>Désolé, une erreur est survenue. Veuillez réessayer.</p>";
}
} else {
// Si on accède directement au fichier sans poster le formulaire
echo "Accès interdit.";
}
?>
Bonjour,
Même après 10 ans, on replonge ensemble, et on va faire ça proprement et simplement.
Ton ancien formgenet.php (probablement un vieux script trouvé sur le net, du style PHPJabbers ou un générateur gratuit) ne fonctionne plus, c’est très courant aujourd’hui. Les hébergeurs ont durci les règles sur la fonction mail() (anti-spam, restrictions, etc.), donc beaucoup de vieux scripts plantent silencieusement.
Voici la version optimisée et un peu plus robuste de ce que je t’ai proposé hier, adaptée à ton cas :
Fichier contact.html (celui que tu vas appeler depuis ton icône)
<h2>Me contacter</h2>
<form action="contact.php" method="post">
<label for="nom">Votre nom :</label>
<input type="text" id="nom" name="nom" required>
<label for="email">Votre email :</label>
<input type="email" id="email" name="email" required>
<label for="message">Votre message :</label>
<textarea id="message" name="message" rows="8" required></textarea>
<button type="submit">Envoyer</button>
</form>
Tu peux coller ça directement dans ta page ou le mettre dans un fichier séparé contact.html.
Fichier contact.php (à créer à la racine, même dossier)
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nom = strip_tags(trim($_POST["nom"] ?? ''));
$email = filter_var(trim($_POST["email"] ?? ''), FILTER_SANITIZE_EMAIL);
$message = strip_tags(trim($_POST["message"] ?? ''));
// === CHANGE CETTE LIGNE ===
$to = "[email protected]"; // ← Ton vrai email
if (empty($nom) || empty($email) || empty($message) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "<p style='color:red; text-align:center;'>Erreur : veuillez remplir correctement tous les champs.</p>";
echo "<p style='text-align:center;'><a href='javascript:history.back()'>Retour au formulaire</a></p>";
exit;
}
$subject = "Message du site web - " . $nom;
$body = "Nom : " . $nom . "\n";
$body .= "Email : " . $email . "\n\n";
$body .= "Message :\n" . $message . "\n";
$headers = "From: " . $email . "\r\n";
$headers .= "Reply-To: " . $email . "\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";
if (mail($to, $subject, $body, $headers)) {
echo "<p style='color:green; text-align:center; font-size:1.2em;'>Merci ! Votre message a bien été envoyé.</p>";
echo "<p style='text-align:center;'><a href='javascript:history.back()'>Retour au formulaire</a></p>";
} else {
echo "<p style='color:red; text-align:center;'>Désolé, impossible d'envoyer le message pour le moment.<br>";
echo "Veuillez réessayer plus tard ou me contacter directement par email.</p>";
}
} else {
echo "Accès direct interdit.";
}
?>
Conseils importants avant de tester :
Change bien la ligne $to = "[email protected]"; avec ton adresse réelle.
Mets les deux fichiers au même niveau (même dossier) que ta page principale.
Teste d’abord avec un vrai email que tu consultes souvent (pas forcément celui du domaine du site).
Après l’envoi, regarde dans tes dossiers Spam / Courrier indésirable : parfois le mail arrive mais atterrit là à cause des restrictions d’hébergement.
Si après ce test le message ne part toujours pas (tu vois le message « Merci » mais rien n’arrive), dis-le-moi et on passera à une solution un peu plus moderne (avec PHPMailer + SMTP), mais on va d’abord essayer de garder ça ultra-simple comme tu le souhaites.
Tu peux y aller, plonge !
Merci.J'utilisais un "formgenet.php" trouvé sur le Net il y a pas mal d'années et je viens de m'apercevoir qu'il ne part pas après la saisie du message.
Avec ce que tu me proposes je vais créer deux fichiers "contact.html" et "contact.php" , le premier sera appelé par le clic sur une icone de la page principale... Allez, je plonge ! Il y a dix ans je nageais mieux !...