Créer un formulaire de contact en PHP avec exemples de code
Les formulaires de contact sont des éléments essentiels pour de nombreux sites web, permettant aux visiteurs de communiquer facilement avec les propriétaires du site. En utilisant PHP, un langage de script côté serveur largement utilisé, il est possible de créer des formulaires de contact robustes et sécurisés. Dans cet article, nous allons explorer étape par étape la création d’un formulaire de contact fonctionnel en PHP, en fournissant des exemples de code pour chaque étape.
Mise en place de la structure HTML du formulaire
<form action="process.php" method="post">
<label for="name">Nom :</label>
<input type="text" id="name" name="name" required>
<label for="email">Email :</label>
<input type="email" id="email" name="email" required>
<label for="subject">Sujet :</label>
<input type="text" id="subject" name="subject" required>
<label for="message">Message :</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Envoyer</button>
</form>
Validation des données côté client (JavaScript)
document.querySelector('form').addEventListener('submit', function(event) {
const name = document.getElementById('name').value;
const email = document.getElementById('email').value;
const subject = document.getElementById('subject').value;
const message = document.getElementById('message').value;
if (name === '' || email === '' || subject === '' || message === '') {
alert('Veuillez remplir tous les champs.');
event.preventDefault();
}
});
Traitement du formulaire en PHP (process.php) :
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
// Validation des données (exemple simple)
if (empty($name) || empty($email) || empty($subject) || empty($message)) {
echo "Tous les champs sont obligatoires.";
} else {
// Envoi de l'e-mail
$to = "votre@email.com";
$headers = "From: $name <$email>";
mail($to, $subject, $message, $headers);
echo "Votre message a été envoyé avec succès.";
}
}
?>
Voici un exemple pratique d’un formulaire de contact en PHP avec du code :
Fichier HTML (contact_form.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>
<h1>Contactez-nous</h1>
<form action="process.php" method="post">
<label for="name">Nom :</label>
<input type="text" id="name" name="name" required><br><br>
<label for="email">Email :</label>
<input type="email" id="email" name="email" required><br><br>
<label for="subject">Sujet :</label>
<input type="text" id="subject" name="subject" 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>
Script PHP de traitement (process.php)
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
// Validation des données (exemple simple)
if (empty($name) || empty($email) || empty($subject) || empty($message)) {
echo "Tous les champs sont obligatoires.";
} else {
// Envoi de l'e-mail
$to = "votre@email.com"; // Remplacez par votre adresse e-mail
$headers = "From: $name <$email>";
if (mail($to, $subject, $message, $headers)) {
echo "Votre message a été envoyé avec succès.";
} else {
echo "Une erreur s'est produite lors de l'envoi du message. Veuillez réessayer.";
}
}
}
?>
Assurez-vous de remplacer “votre@email.com” par votre adresse e-mail réelle dans le fichier process.php.
Avec ces deux fichiers, vous avez un formulaire de contact fonctionnel en PHP. Lorsque les utilisateurs soumettent le formulaire, les données sont envoyées à process.php qui les traite et les envoie par e-mail à l’adresse spécifiée.