Eléphanteau du PHP |
12 Messages
08 déc. 2020, 22:06
C'est bon! J'ai trouvé un autre code et l'ai implanté dans le fichier index et ai donc modifié l'extension en .php et ça fonctionne.
Evidement, une réponse mène à une autre question...
Le code en question a une fonctionnalité qui liste les erreurs (par exemple un champ non rempli) au dessus du formulaire. Comment faire pour changer cet emplacement (si c'est possible)?
Aussi, est-ce que cette ligne a une réelle utilité ou est-ce qu'elle peut être enlevée?
Code : Tout sélectionner
$contenu = '<html><head><title>La Main Magique</title></head><body>';
Voici le code général:
<!-- DEBUT CODE PHP FORMULAIRE DE CONTACT -->
<?php
// S'il y des données de postées
if ($_SERVER['REQUEST_METHOD']=='POST') {
// Code PHP pour traiter l'envoi de l'email
$nombreErreur = 0; // Variable qui compte le nombre d'erreur
// Définit toutes les erreurs possibles
if (!isset($_POST['email'])) { // Si la variable "email" du formulaire n'existe pas (il y a un problème)
$nombreErreur++; // On incrémente la variable qui compte les erreurs
$erreur1 = '<p>Il y a un problème avec la variable "email".</p>';
} else { // Sinon, cela signifie que la variable existe (c'est normal)
if (empty($_POST['email'])) { // Si la variable est vide
$nombreErreur++; // On incrémente la variable qui compte les erreurs
$erreur2 = '<p>Vous avez oublié de donner votre email.</p>';
} else {
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$nombreErreur++; // On incrémente la variable qui compte les erreurs
$erreur3 = '<p>Cet email ne ressemble pas un email.</p>';
}
}
}
if (!isset($_POST['message'])) {
$nombreErreur++;
$erreur4 = '<p>Il y a un problème avec la variable "message".</p>';
} else {
if (empty($_POST['message'])) {
$nombreErreur++;
$erreur5 = '<p>Vous avez oublié de donner un message.</p>';
}
}
if ($nombreErreur==0) { // S'il n'y a pas d'erreur
// Récupération des variables et sécurisation des données
$nom = htmlentities($_POST['nom']); // htmlentities() convertit des caractères "spéciaux" en équivalent HTML
$email = htmlentities($_POST['email']);
$message = htmlentities($_POST['message']);
// Variables concernant l'email
$destinataire = '; // Adresse email du webmaster
$sujet = 'La Main Magique - Formulaire de contact'; // Titre de l'email
$contenu = '<html><head><title>La Main Magique</title></head><body>';
$contenu .= '<p>Bonjour, vous avez reçu un message à partir de votre site web.</p>';
$contenu .= '<p><strong>Nom</strong>: '.$nom.'</p>';
$contenu .= '<p><strong>Email</strong>: '.$email.'</p>';
$contenu .= '<p><strong>Message</strong>: '.$message.'</p>';
$contenu .= '</body></html>'; // Contenu du message de l'email
// Pour envoyer un email HTML, l'en-tête Content-type doit être défini
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
@mail($destinataire, $sujet, $contenu, $headers); // Fonction principale qui envoi l'email
echo '<h2>Message envoyé!</h2>'; // Afficher un message pour indiquer que le message a été envoyé
} else { // S'il y a un moins une erreur
echo '<div style="border:1px solid #ff0000; padding:5px;">';
echo '<p style="color:#ff0000;">Désolé, il y a eu '.$nombreErreur.' erreur(s). Voici le détail des erreurs:</p>';
if (isset($erreur1)) echo '<p>'.$erreur1.'</p>';
if (isset($erreur2)) echo '<p>'.$erreur2.'</p>';
if (isset($erreur3)) echo '<p>'.$erreur3.'</p>';
if (isset($erreur4)) echo '<p>'.$erreur4.'</p>';
if (isset($erreur5)) echo '<p>'.$erreur5.'</p>';
echo '</div>';
}
}
?>
<!-- FIN CODE PHP FORMULAIRE DE CONTACT -->
<!-- DEBUT CODE HTML FORMULAIRE DE CONTACT -->
<div class="container">
<form method="post" action="<?php echo strip_tags($_SERVER['REQUEST_URI']); ?>">
<label>Nom</label>
<input type="text" name="nom" size="30" placeholder="Prénom Nom">
<label>Mail</label>
<input type="text" name="email" size="30" placeholder="[email protected]">
<label>Message</label>
<textarea name="message" cols="60" rows="10" placeholder="Votre message..."></textarea>
<input type="submit" name="submit" value="Envoyer" />
</form>
</div>
<!-- FIN CODE HTML FORMULAIRE DE CONTACT -->
Et merci de m'avoir fait penser à retirer l'adresse mail